えいのうにっき

a-knowの日記です

読書メモ・詳解システムパフォーマンス 第5章/アプリケーション

「詳解システムパフォーマンス」の読書メモシリーズ・第4弾。

詳解 システム・パフォーマンス

詳解 システム・パフォーマンス

この章の輪読会は今週の木曜日に予定されているのだけど、業務の関係で参加できないことが決っているので、開催自体はまだだけど自分の読書メモは先行して公開しておく。

ちなみに「業務」は、自社プロダクトの下記イベントへのブース出展、なので、よろしければこちらの会場にもぜひお越し下さい(宣伝)。

www.cloud-japan.jp

感想

前章の「可観測性ツール」とは違い、「アプリケーション」ということで、「ずっとアプリケーションエンジニアをやってきたし、少なからずパフォーマンス問題を対象に取り組んできたこともあるから、この章はかなりの実感を持って読み進められるはず!」と、若干意気込みながら読んだ。

が、実際に読んでみると、「アプリケーションパフォーマンス分析」と一口に言っても、

  • アプリケーションが処理する要求・どのようなオペレーションを行なうのか
  • アプリケーションのCPUモード(ユーザーモードカーネルモード)はなにか
  • I/O サイズはどうか
  • キャッシュの有無と実効性は適切か
  • 並列実行を意図して並行実行になっていないか
    • 並列実行の場合、ロックの種類や発生状況はどうか
  • アプリケーションが実装されている言語の種類とそれに合ったパフォーマンス分析手法はなにか
  • アプリケーションパフォーマンスの分析はどのような手法をどのような手順で実施していくべきか

...と、非常に多岐に渡っており、今まで自分が「アプリケーションパフォーマンスの改善をする/してきた」としてやってきたことや考えていたことがいかにそのごく一部(せいぜい、静的パフォーマンスチューニングの一部とメソドロジのいくつかを "つまみ食い" していた程度。。)であったか、ということを思い知らされた章だった。言い換えると、今までやってきたことは当てずっぽうだったり場当たり的なものであった(何かの知識やガイドに基づくものではなかった)、と言われても仕方がない、とも言える。

そして、この章を読んだからといって即これらを自分のものとすることは難しいだろうとも思う。次にアプリケーションパフォーマンスの問題に直面し、またその解決に当たらなければならなくなったときには、まずこの本のこの章のことを思い出し、再度見返したいと強く思った。

続きを読む

読書メモ・詳解システムパフォーマンス 第4章/可観測性ツール

「詳解システムパフォーマンス」の読書メモシリーズ・第3弾。

詳解 システム・パフォーマンス

詳解 システム・パフォーマンス

この回はなんだっかの理由で輪読会に参加できなかったので、前回のような「輪読会の場での話題」みたいなのはなし。スミマセン。

感想

僕自身が システムエンジニア -> PaaS(GAE)エンジニア -> Web アプリケーションエンジニア -> セールスエンジニア(イマココ) 、というキャリアを踏んできたこともあってか、「システムが稼働しているサーバに対してプロファイリング・トレーシングを実施する」という経験をほぼ一度もやってきたことが無かったな、ということを痛感した章だった。つまり何が言いたいかというと、読んでいて、実感を伴う理解を得られた場所が少なかった 、ということ。。

あと、 ロギングは「デフォルトで有効にされる頻度の低いトレーシング」と考えることができる という一文には、「なるほどなぁっ」と思った。

続きを読む