KDOC 660: Performance Insights で vCPU が重要な理由
この文書のステータス
- 作成
- 2026-10-13 貴島
- レビュー
- 2026-10-13 貴島
概要
RDS Performance Insights ではvCPUが重要な指標というが、なぜ重要なのかを理解していなかった。
Amazon RDSにおけるパフォーマンス最適化とパフォーマンス管理の図がわかりやすい。
Figure 1: セッションの状態を毎秒標本に取り、待機イベントごとに積み上げる。Amazon RDSにおけるパフォーマンス最適化とパフォーマンス管理の19ページの図を描き直し、vCPU が 2 のときの最大 vCPU の線を足した
vCPU は一度に1つのプロセスしか動かせないので、CPU で動きたいセッションが vCPU の数を超えると、CPU の順番待ちが起きる。DB 負荷が vCPU の線を超え、その大半が CPU が必要なセッションだとCPU不足となる。
図では、3本目・8本目・9本目の標本が CPU だけで線を超えていて、CPU の順番待ちが起きている。7本目の標本は合計 5 で線を大きく超えるが、CPU が 1 で残りが IO Write なので、CPU 不足ではない。CPU を増やしても速くならず、書き込みの待ちを減らす必要がある。
vCPU では一度に 1 つのプロセスを実行できます。プロセスの数が vCPU の数を超えると、プロセスはキューイングを開始します。キューイングが増加すると、データベースのパフォーマンスが低下します。DB 負荷が [Max vCPU (最大 vCPU)] ラインをしばしば超過し、プライマリ待機状態が CPU である場合、CPU が過負荷になっています。
関連
- 前提: KDOC 661: AASとAAEを理解する。DB 負荷の単位 AAS は同時に動いているセッション数の平均なので、vCPU の数と同じ単位で比べられる