詳解 システムパフォーマンスを読む②
前回の続き
では1章から。
イントロダクションとして、システムパフォーマンスについて説明がある。
システムパフォーマンスを語る上では、ハードやソフト、ネットワークなどあらゆる知識が必要になる。
アプリケーションがシステムライブラリを呼び出したり、システムコールを行うと、
そこからはカーネルの世界に入って最終的にデバイスに作用する。
この本ではこれらをまとめてスタック全体と呼んでいて、第三章で別途説明される。
システムパフォーマンス関連の作業は、職種を問わず皆が触れることになる。ただ、WebはWebの、DBはDBの分野だけにとどまらず、それらが連携することで初めてチューニングが可能になる。
これらを統合させたパフォーマンスエンジニアという特殊な職種も存在する。
パフォーマンス分析を理想的な流れで行うと、次のようになる
・目標設定とモデル作成
・プロトタイプを用いて特性をつかむ
・インテグ前の開発済コードで分析する
・ビルド後の各種SWで非回帰テストする
・リリース後のSWのベンチマーキングをする
・ターゲット環境で概念実証テストをする
・本番環境で構成最適化する
・本番稼働されているSWをモニタリングする
・パフォーマンス問題を分析する
本来は製品開発の前にパフォーマンスに関する目的設定をすべきだが、
世の中の製品はそれらを飛ばして実在することが多い。
製品が出来上がってリリースをすればするほど、パフォーマンスの問題を解決するのが難しくなっていく。
※概念実証テストとありますが、これはPoCのことなんですね
以上