5章アプリケーション
パフォーマンスをもっとも大きくチューニングできるのは、仕事を行っている場所にもっとも近いところ、つまりアプリケーションのなかだ。アプリケーションには、データベース、ウェブサーバー、アプリケーションサーバー、ロードバランサ、ファイルサーバーなどが含まれる。以下の各章では、消費するリソース(CPU、メモリ、ファイルシステム、ディスク、ネットワーク)という観点から、アプリケーションにアプローチしていく。この章は、アプリケーションレベルを取り上げる。
アプリケーションは、極端に複雑になることがあり得る。特に、多くのコンポーネントから構成された分散アプリケーション環境ではそうだ。アプリケーション内部の検討は、通常はアプリケーション開発者の領域であり、イントロスペクションのためにサードパーティツールを使うこともある。システムパフォーマンスの研究者にとって、アプリケーションのパフォーマンス分析とは、システムリソースをもっとも最大限に活用するためのアプリケーションの構成、アプリケーションがシステムをどのように使っているかの特徴付け、一般的な病理の分析などである。
この章での学習目標は次の通り。
- パフォーマンスチューニングの目標を明らかにする。
- マルチスレッドプログラミング、ハッシュテーブル、ノンブロッキングI/Oなどのパフォーマンスを引き上げるためのテクニックを頭に入れる。
- ロックと同期プリミティブを理解する。
- プログラミング言語の違いによる問題の違いを理解する。
- スレッドの状態分析のメソドロジの筋道をたどる。
- CPUプロファイリングとoff-CPU分析を行う。
- プロセスの実行のトレーシングなどのシステムコール分析を行う。
- シンボルやスタックが失われることがあるというスタックトレースの罠を意識に刻み込むする。 ...
Get 詳解 システム・パフォーマンス 第2版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.