詳解 システムパフォーマンスを読む⑦
前回の続き
P.23あたりから
適切性の水準
パフォーマンスの要件は、会社や業務、システムによって異なるのが当たり前である
適切な水準を見極めないと、過大に時間をかけてしまうか、あるいはまったく足りない的外れな分析となってしまう
基準時の推奨値
パフォーマンスは日々変わるものなので、その時最良と思われた設定値は、あくまでその時にしか有効とならない
また、ネットを検索してたまたまヒットしたパラメータをあてがうのは危険
仮にパフォーマンス低下の原因がアプリのバグであり、それを解消したとしても、
後には謎のパラメータ設定が残るだけになり、それが新たなパフォーマンス問題を引き起こす可能性があるからである
逆に、どのようなパラメータがあり、推奨値はどうなっているか、過去からどう変えたかといった情報があれば、非常に有益である
負荷かアーキテクチャか
あるパフォーマンス問題が生じているとき、それがワークロード(負荷)によるものである場合と、アーキテクチャによるものである場合がある
例として、複数CPUを持っているにもかかわらずシングルスレッドで1つのCPUにのみ負荷がかかっている状況はアーキテクチャの問題であり(マルチスレッド化を検討)、マルチスレッドで全CPUがビジー状態となっている場合は、ワークロードによる問題である(CPU増設を検討)
スケーラビリティ
負荷の増加に伴うシステムのパフォーマンスの変化を言う
例えばスループットは、あるところまでは負荷とスループットが線形の関係となるが、あるところから急にスループットが落ち始める
また、ある一定数までをさばけるシステムでは、基本的に負荷によらず応答時間は変わらないが、過大な負荷をかけるとゆっくりと、または急激に応答時間が遅くなるということがある
以上