詳解 システムパフォーマンスを読む②

前回の続き

 

syachineko.hatenablog.com

 

では1章から。

 

イントロダクションとして、システムパフォーマンスについて説明がある。

システムパフォーマンスを語る上では、ハードやソフト、ネットワークなどあらゆる知識が必要になる。

アプリケーションがシステムライブラリを呼び出したり、システムコールを行うと、

そこからはカーネルの世界に入って最終的にデバイスに作用する。

この本ではこれらをまとめてスタック全体と呼んでいて、第三章で別途説明される。

 

システムパフォーマンス関連の作業は、職種を問わず皆が触れることになる。ただ、WebはWebの、DBはDBの分野だけにとどまらず、それらが連携することで初めてチューニングが可能になる。

これらを統合させたパフォーマンスエンジニアという特殊な職種も存在する。

 

パフォーマンス分析を理想的な流れで行うと、次のようになる

・目標設定とモデル作成

・プロトタイプを用いて特性をつかむ

・インテグ前の開発済コードで分析する

・ビルド後の各種SWで非回帰テストする

・リリース後のSWのベンチマーキングをする

・ターゲット環境で概念実証テストをする

・本番環境で構成最適化する

・本番稼働されているSWをモニタリングする

・パフォーマンス問題を分析する

 

本来は製品開発の前にパフォーマンスに関する目的設定をすべきだが、

世の中の製品はそれらを飛ばして実在することが多い。

製品が出来上がってリリースをすればするほど、パフォーマンスの問題を解決するのが難しくなっていく。

 

※概念実証テストとありますが、これはPoCのことなんですね

 

以上