インフラエンジニアとしてシステムのパフォーマンスを評価・設計する際、ストレージ(ディスク)の性能理解は避けて通れない。本記事では、ディスク性能を決定づける主要な指標と、それらの相関関係、および実務で意識すべき特性について整理する。
1. ディスク性能の3大要素
ディスク性能は「物流(倉庫とトラック)」に例えると理解しやすい。
① IOPS (Input/Output Operations Per Second)
1秒間に読み書き(I/O)が何回実行できるかを示す「回数」の指標。
- 特性: 小さなデータを大量にやり取りするデータベース(DB)や、ランダムアクセスの多いOSの動作において重要となる。
- 物流例: 1秒間にトラックへ積み込める荷物の「個数」。
② スループット (Throughput)
1秒間にどれだけのデータ量を転送できるかを示す「帯域」の指標。単位は MB/s などで表記される。
- 特性: バックアップ、動画配信、巨大なログ出力など、連続した大きなデータを扱う際に重視される。
- 例: 1秒間に運べる荷物の「総重量(トン)」。
③ レイテンシー (Latency)
1つのI/Oリクエストを発行してから、それが完了して返ってくるまでの「待ち時間」。
- 特性: リアルタイム性が求められるシステムでは、IOPSが十分でもレイテンシーが長いとレスポンス遅延として顕在化する。
- 例: 注文から手元に届くまでの「リードタイム」。
2. 各指標の相関関係
これら3要素は独立しておらず、以下の計算式で結ばれる。
$$Throughput = IOPS \times I/O Block Size$$
※I/Oブロックサイズ: 1回のI/Oで扱うデータの塊(4KB、64KB、1MBなど)。
同じIOPSであっても、1回あたりのブロックサイズが大きければスループットは向上するが、引き換えに1回あたりの処理時間(レイテンシー)は増大する傾向にある。
3. ストレージデバイス別の性能傾向
物理構造の違いにより、得意とするワークロードは大きく異なる。
| デバイス | IOPS | スループット | レイテンシー | 主な特徴 |
|---|---|---|---|---|
| HDD | 低 (約100) | 低〜中 | 遅 (ms単位) | 磁気ヘッドを物理移動させるためランダムI/Oに弱い。 |
| SSD (SATA) | 高 | 中 (〜500MB/s) | 速 (0.1ms〜) | 半導体メモリを使用。ランダムI/Oに強い。 |
| NVMe SSD | 極めて高 | 極めて高 | 極めて速 | 最新のインターフェース。現在のサーバストレージの主流。 |
4. アクセスパターンと制御の概念
ランダム I/O vs シーケンシャル I/O
- シーケンシャル I/O: 連続した領域へのアクセス。HDDでも比較的高速だが、現在は主に大容量転送の指標として扱われる。
- ランダム I/O: 不連続な領域へのアクセス。磁気ヘッドの移動(シーク)がないSSDの優位性が最も発揮されるパターンである。
キューイング (Queue Depth)
OSがストレージに対して、未完了のI/Oリクエストをどれだけ溜めておけるかを示す値。
- 高Queue Depth: SSDなどの並列処理が得意なデバイスでは、リクエストをある程度溜めることでIOPSを最大化できる。
- トレードオフ: キューが長すぎると、一つひとつのリクエストが順番待ちをするため、結果としてレイテンシーが悪化する。
リード・ライト比率 (Read/Write Ratio)
I/Oにおける読み込みと書き込みの割合。
一般に書き込み(Write)の方が、ストレージ内部でのデータ整合性確保や、SSDにおけるデータの消去・再書き込み動作を伴うため、負荷が高くなる。
- 設計目安: 一般的なオンライン処理(OLTP)では、Read:Write = 7:3 程度で想定することが多い。
5. 実務におけるボトルネックの判断基準
RHEL等のLinux環境で iostat コマンド等を用いて性能監視を行う際は、以下の数値を注視する。
- %util (ディスク使用率) が高い: ストレージの処理能力が限界に達している。またはHDDでランダムI/Oが多発している。
- await (平均待ち時間) が長い: キューが詰まっており、アプリケーション側に遅延が伝播している状態。
- r/s, w/s: 現在のIOPS。設計時の想定値と比較して異常がないか確認する。
まとめ
ディスク性能を評価する際は、単純な「速さ」だけでなく、IOPS、スループット、レイテンシーの三角形を意識する必要がある。特にSSDが主流となった現代では、Queue Depthやブロックサイズの最適化が、パフォーマンスを最大限に引き出す鍵となる。