第4章 · 非機能設計·v1.0.0·更新 2026/7/11·読了目安 約16分
変更要約: 初版
4.1性能設計とキャパシティプランニング
この節の要点
ユーザ体感を左右するレスポンスタイムと処理能力を示すスループットの違い、待ち行列理論の基本モデルM/M/1による利用率(ρ)と待ち時間の関係、そしてボトルネックを診断してキャパシティを見積もる判断力を、業務要件のシナリオを通じて養います。
システムアーキテクトにとって性能設計は「サーバを増やせば速くなる」という単純な話ではありません。利用者が体感する応答時間(レスポンスタイム)とシステム全体が単位時間に処理できる量(スループット)は別の指標であり、両者はしばしばトレードオフの関係にあります。さらに、キャパシティ(処理能力)に対する負荷の比率が高まるほど、待ち時間は線形にではなく急激に(非線形に)悪化するという待ち行列理論の性質を理解していないと、「まだ利用率50%だから余裕がある」といった誤った安心につながります。この節では、レスポンスタイム/スループットの違いとM/M/1待ち行列モデルを踏まえ、負荷試験の結果からボトルネックを診断し、必要なキャパシティを見積もる判断力を養います。
4.1.1レスポンスタイムとスループット
- レスポンスタイム=1件のリクエストを送信してから応答を受け取るまでの時間で、利用者が直接体感する指標。スループット=単位時間あたりにシステムが処理できるリクエスト件数(例:req/秒)で、システム全体の処理能力を示す指標。両者は独立ではなく、後述のとおり負荷(利用率)が高まるとレスポンスタイムが急激に悪化し、結果としてスループットも頭打ちになるという関係にある。
- 性能設計の判断で陥りやすい誤りは「平均レスポンスタイムだけを見て良し悪しを判断する」ことである。実務ではパーセンタイル値(95パーセンタイル・99パーセンタイル等)を用い、「ほとんどのリクエストは速いが、一部が極端に遅い(テールレイテンシ)」という分布の偏りを見抜く必要がある。平均値だけでは、少数の利用者が著しく悪い体験をしている状況を見逃す。

