詳解 システムパフォーマンスを読む⑲
↓前回分
P.58あたりから
モデリングは色々な場面で使えるが、負荷やリソースの増減に伴ってパフォーマンスがどのようにスケーリングするかを研究するスケーラビリティ分析で重要となる。
パフォーマンスは、以下のうち少なくとも2つを使ったときに完全に理解される
・アナリティカルモデリング
・シミュレーション
・計測
モデリングすることで、環境を作らずに測定ができるが、実際には複雑なモデリングは難しい
クラウドでは実際に構築を行うことができる分、見えない問題を発見できる可能性がある
視覚的な究明
実験によってデータを集められる場合は、複数回測定した結果をプロットすることで、特異点を図示することができる場合がある
※スレッド数に対するスループット、など
形状について
・線形スケーラビリティ:リソースに比例してパフォーマンスが上がる
・競合:一部リソースが競合し、かつシングルスレッドだとリソースが増えることで少しずつパフォーマンスが落ちていく
・コヒーレンス:データのコヒーレンシを維持するため、リソースが一定を超えるとパフォーマンスが天井をつけて下がっていく
・ニーポイント:ある点までは線形に進むが、特定の値を超えるとリソースに対するパフォーマンスが上がりにくくなる
・スケーラビリティシーリング:ある点までは線形に進むが、特定の値を超えるとそれ以上パフォーマンスが上がらなくなる
以上。