【読書】詳解システム・パフォーマンス(イントロダクション)

はじめに

Oreillyからでている「詳解システム・パフォーマンス」を読んでいます。 この読書メモを記載していきます。

本について

上記から引用します。

本書はエンタープライズ環境とクラウド環境の両方を対象としたオペレーティングシステムおよびオペレーティングシステムのコンテキストにおけるアプリケーションのパフォーマンス分析と向上について解説します CPUやメモリ、ファイルシステムなど個別テーマごとに設けられた各章の前半では、用語、考え方、方法論について述べ、後半では実装の具体例を示しつつ、アーキテクチャ、分析ツール、チューニングなどを解説しています。

読書の目的

引用したところのアプリケーションのパフォーマンス分析だったり向上させようと思ったときに 何ができればそれが達成できるのか体系だった知識を得られると思ったからです。

実際本を手にすると分厚さがハンパないです!

今回の対象ページ

本が分厚いので短く記録していく感じで対象ページを書きます。 ここでは以下を対象に書いていきます。

  • イントロダクション

読書記録

全ては書かず、印象に残ったところを記載していきます。 (読むたびにかわりそう)

イントロダクション

職種

システムのパフォーマンス関連の作業を行うのは誰かということを言及していました。 * システム管理者 * サポートスタッフ * アプリケーションデベロッパー * データベース管理者 * Web管理者 * など

本の中では根本下人を見つけるためにすべてのチームの協力が必要になる場合があるということを 言われていました。 またはパフォーマンスエンジニアと言う職種を容易していて、このエンジニアチームが他のチームと共同して 全体的な視野で検討を行うということが書かれていました。

あるAPIのrequest結果を返すまでのパフォーマンスを評価するときに、APIの開発者だけではなく、 DBアクセスがあって、そのデータベース管理をしているチームがいたらそのチームと連携して パフォーマンスを測定したり、たしかにそういったことはあるなと。

パフォーマンスは主観である

バグについては簡単に判断できるが(エラーメッセージがでているなど形がある) パフォーマンスについては主観的な問題になることが多い。

そもそも問題なのかはっきりしないし、問題だったとしても、それが修正されたのかどうかも またはっきりしないということが書いてあった。さらにあるユーザがパフォーマンスが悪いと思っていて 別のユーザはパフォーマンスが良いと思うこともあると書いてあった。 こういったことは良く現実でもあって、「この部分が遅いからちょっと調べよう」となったときにそれを どこまで修正すれば良いのかという部分が定義しずらいことがありました。

システムは複雑である

パフォーマンスを分析し始めるために、明確なポイントがないことが多い。 そういったときに「ネットワークが悪い」という決めつけなど、推測から始まることがあり、 その出発点が正しい方向かどうかから明らかにしなければならないという記述があった。

まとめ

システムのパフォーマンスとして見るべき箇所についての概要が「イントロダクション」に記載されていました。 より詳細なことが次の章から続くようなのでこれも大変楽しみです!