AWS EC2インスタンスのディスクパフォーマンスを監視する際、似たような名前の2種類のメトリクスがあります:
DiskReadBytes と DiskWriteBytes
EC2インスタンスのOSが認識するディスク操作を測定します。
VolumeReadBytes と VolumeWriteBytes
EBSボリュームの実際の物理的なI/O操作を測定します。
これらはEC2インスタンスの 論理的なI/O操作 を測定するメトリクスです。
これらはEBSボリュームの 物理的なI/O操作 を測定するメトリクスです。
| 比較項目 | DiskReadBytes / DiskWriteBytes | VolumeReadBytes / VolumeWriteBytes |
|---|---|---|
| 測定レベル | インスタンス(OS)レベル | ボリューム(物理ストレージ)レベル |
| データの正確性 | OSのキャッシュにより値が少なく見える場合がある | 実際にディスクに書き込まれた正確なバイト数 |
| ユースケース | アプリケーションの論理的I/O性能の把握 | 実際のEBSボリュームのパフォーマンス把握 |
| 複数ボリューム | インスタンスにアタッチされた全ボリュームの合計 | 個別のボリュームごとに測定可能 |
| 監視の目的 | アプリケーションがどれだけのI/Oを要求しているか | 物理的なディスクの使用状況と性能 |
同じインスタンスで測定した場合でも、これらのメトリクスの値が異なることがあります。主な理由は:
1. アプリケーションが10MBのファイルを読み取り要求
2. 初回アクセス時:OSはEBSから10MB読み取り → VolumeReadBytes = 10MB , DiskReadBytes = 10MB
3. 2回目のアクセス時:OSがキャッシュから読み取り → VolumeReadBytes = 0MB (追加読み取りなし), DiskReadBytes = 10MB
Created by SSuzuki1063
AWS SAP Learning Resources