4章可観測性ツール
OSは、古くからシステムソフトウェアとハードウェアコンポーネントを観察するためのツールを提供してきた。初めて見た人は、使えるツールの範囲の広さから考えて、すべてのものとは言わなくてもすべての重要なものは観察できるのだと思うだろうが、実際には隙間がいくつも空いている。また、システムパフォーマンスのエキスパートたちは、推論と解釈の技術に長けており、間接的なツールや統計からアクティビティを見抜いている。たとえば、ネットワークパケットは個別に解析できる(スニッフィング)が、ディスクI/Oはできなかった(少なくとも簡単には)。
Linuxの可観測性は、BPFベースのBCCとbpftraceをはじめとする動的トレーシングツールの成長により、大幅に改善されてきた。biosnoop(8)で解析できるようになったディスクI/Oなど、隅の方の暗い部分に光が当てられるようになった。しかし、多くの企業や市販モニタリング製品はまだシステムトレーシングを採用しておらず、トレーシングによって得られる知見に触れるチャンスをみすみす逃している。私は、NetflixやFacebookなどの企業がすでに使っている新しいトレーシングツールの開発、解説、公開に参加してきた。
この章での学習目標は次の通り。
- 静的パフォーマンスチューニングツールとクライシスツールを見分けられるようにする。
- ツールのタイプとそのオーバーヘッドを理解する: カウンタ、プロファイリング、トレーシング
- 可観測性データのソースについて学ぶ: /proc、/sys、トレースポイント、kprobe、uprobe、USDT、PMCなど
- 統計量のアーカイブを作るsar(1)の設定方法を学ぶ。
1章では、カウンタ、プロファイリング、トレーシングという可観測性ツールのタイプと静的/動的インストルメンテーションについて説明した。この章では、可観測性ツールとそのデータソースを詳細に説明するとともに、sar(1)(System ...
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.