「詳解システムパフォーマンス」の読書メモシリーズ・第4弾。
この章の輪読会は今週の木曜日に予定されているのだけど、業務の関係で参加できないことが決っているので、開催自体はまだだけど自分の読書メモは先行して公開しておく。
ちなみに「業務」は、自社プロダクトの下記イベントへのブース出展、なので、よろしければこちらの会場にもぜひお越し下さい(宣伝)。
www.cloud-japan.jp
感想
前章の「可観測性ツール」とは違い、「アプリケーション」ということで、「ずっとアプリケーションエンジニアをやってきたし、少なからずパフォーマンス問題を対象に取り組んできたこともあるから、この章はかなりの実感を持って読み進められるはず!」と、若干意気込みながら読んだ。
が、実際に読んでみると、「アプリケーションパフォーマンス分析」と一口に言っても、
- アプリケーションが処理する要求・どのようなオペレーションを行なうのか
- アプリケーションのCPUモード(ユーザーモード/カーネルモード)はなにか
- I/O サイズはどうか
- キャッシュの有無と実効性は適切か
- 並列実行を意図して並行実行になっていないか
- アプリケーションが実装されている言語の種類とそれに合ったパフォーマンス分析手法はなにか
- アプリケーションパフォーマンスの分析はどのような手法をどのような手順で実施していくべきか
...と、非常に多岐に渡っており、今まで自分が「アプリケーションパフォーマンスの改善をする/してきた」としてやってきたことや考えていたことがいかにそのごく一部(せいぜい、静的パフォーマンスチューニングの一部とメソドロジのいくつかを "つまみ食い" していた程度。。)であったか、ということを思い知らされた章だった。言い換えると、今までやってきたことは当てずっぽうだったり場当たり的なものであった(何かの知識やガイドに基づくものではなかった)、と言われても仕方がない、とも言える。
そして、この章を読んだからといって即これらを自分のものとすることは難しいだろうとも思う。次にアプリケーションパフォーマンスの問題に直面し、またその解決に当たらなければならなくなったときには、まずこの本のこの章のことを思い出し、再度見返したいと強く思った。
続きを読む