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.