絵で見てわかるシステムパフォーマンスの仕組み

パフォーマンスチューニング

2020-03-30 21:04:11

絵で見てわかるシステムパフォーマンスの仕組み

  • 第1章 パフォーマンスの基礎的な考え方
  • 第2章 パフォーマンス分析の基本
  • 第3章 実システムのパフォーマンス分析
  • 第4章 パフォーマンスチューニング
  • 第5章 パフォーマンステスト
  • 第6章 仮想化環境におけるパフォーマンス
  • 第7章 クラウド環境におけるパフォーマンス

第1章 パフォーマンスの基礎的な考え方

  • N/A

第2章 パフォーマンス分析の基本

  • N/A

第3章 実システムのパフォーマンス分析

p.92

  • Webサーバーのアクセスログ
    • アクセスログから負荷の集中がわかる
    • 処理が届いているかどうかもわかる
  • アプリ/APサーバーのログ
    • アプリ
      • アクセスログと合わせて処理を分析
    • APサーバー
      • キュー、スレッド、コネクションプール(もしくはコネクション)を見る

p.97

  • DBMSのパフォーマンス測定のセオリー
    • 多数のプロセスやスレッドが前提となっている
    • DBサーバーはデータを一元管理するため、スレッド間のやり取りやリソースの競合が起きやすい
    • DBMSは多くのサーバーからリクエストを受けることが多く、商用のDBMSの多くは並列で処理されることを前提として作られている
    • CPU処理時間+待ち時間がSQLの実行時間

p.101

  • IOPS(Input Output Per Second)
    • 1秒あたりのI/Oの回数
    • I/Oサイズが大きくなるとIOPSが減る
    • I/Oにかかる時間は、アームが動く時間+回転待ちの時間+実際の読み書き時間

p.102

  • ダーティ(もしくはダーティなブロック)
    • 変更されたけれどもまだ書き込まれていないデータのこと

p.100

  • バッチのパフォーマンス測定
    • バッチの開始、終了だけでなく、途中途中で情報を取得しておくことが大事

p.107

  • ネットワークのパフォーマンス分析の考え方
    • 基本的にはストレージと同じ
      • スループットなのか、IOPSなのか、待ち行列
    • 違い
      • ネットワークのやりとり回数
      • 中継機器の数(ホップが多い)
      • WANやデータセンタ間などの距離が遠いケース
      • TCPにはWindowサイズとACKという仕組みがある。それとパケットサイズが小さい。

第4章 パフォーマンスチューニング

p.133

  • 局所性
    • 実際のシステムではランダムにデータがアクセスされることは少なく、偏りがでる。これを局所性という。
    • 時間的局所性
      • 最近使われたデータであればあるほど再アクセスされる可能性が高いというもの
    • 空間的局所性
      • 使われたデータの近くのデータほど次に使われる可能性が高いというもの
    • 逐次的局所性
      • 使われたデータの隣が使われることが多いという局所性

p.140

  • LRU(Least Recently Used)
    • 最近使われていない(時間的局所性からいえば、これからも最も使われないであろうデータ)を捨てるアルゴリズム

p.145

  • copy on write(cow)
    • 必要になったタイミングで実態を作成する方法
      • ex. OSではプロセスは生成するときに、プロセスのコピーを行うが、当初は実体が殆どコピーされず、実際に変更(write)っsれるタイミングでコピーを行う

第5章 パフォーマンステスト

  • N/A

第6章 仮想化環境におけるパフォーマンス

  • N/A

第7章 クラウド環境におけるパフォーマンス

  • N/A

About the author

Image

bmf san @bmf_san
A web developer in Japan.