性能試験シリーズ(第1回・第2回・第3回)で出てきた用語に加えて、本編では触れなかった一般的な用語・観点も広く集めた早見表です。自分の備忘を兼ねて、「そもそも性能試験にはどんな言葉・着眼点があるのか」をざっと見渡せることを狙いました。厳密な定義より、現場で困らない程度のイメージを優先しています。カテゴリ順に眺めても、気になる言葉を拾い読みしてもOKです。
速さ・時間の指標
| 用語 | ざっくりの意味 |
|---|
| レスポンスタイム | リクエストを投げてから応答が返るまでの時間。速さの基本指標。 |
| ターンアラウンドタイム(TAT) | 処理を依頼してから結果がすべて返るまでの総所要時間。Webではレスポンスタイムとほぼ同義で使われることが多い。 |
| レイテンシ | 要求してから応答が返り始めるまでの遅延。ネットワークや処理の待ちを指す。 |
| 待ち時間(キューイング遅延) | 処理されるのを行列で待っている時間。混むほど伸びる。 |
| 処理時間(サービスタイム) | 実際に処理にかかった時間そのもの。待ち時間とは分けて考える。 |
量・スループットの指標
| 用語 | ざっくりの意味 |
|---|
| スループット | 単位時間あたりにさばける処理の量。処理能力の「量」を表す。 |
| RPS/QPS/TPS | 1秒あたりのリクエスト数/クエリ数/トランザクション数。スループットの代表的な単位。 |
| 同時接続数/同時ユーザー数 | 同時にアクセスしている量。負荷の大きさを表す。 |
| 同時実行数(並列度・Concurrency) | 同時に処理の途中にあるリクエストの数。 |
| 仮想ユーザー(VU) | 負荷ツール上で模擬する1人のユーザー。VUを増やして負荷を上げる。 |
分布・統計の見方
| 用語 | ざっくりの意味 |
|---|
| 平均値 | 全部の平均。少数の極端に遅い値に引っ張られ、実態を隠すことがある。単独では使いにくい。 |
| 中央値(p50) | ちょうど真ん中の値。半分はこれより速く、半分は遅い。分布の中心をとらえる目印で、全体がじわっと遅くなっていないか(劣化の検知)に向く。 |
| パーセンタイル | 速い順に並べ、下からX%地点の値を見る見方。平均と違い、一部の遅いリクエストに引きずられにくい。 |
| p90/p95/p99 | 9割/95%/99%がこの値以内、という点。p90は要件判定に、p99は「いちばん遅い1%の裾」を見るのに使う。 |
| 最大値・最小値 | いちばん遅い・速い値。最大値は異常の有無の目安。 |
| ばらつき(標準偏差) | 値の散らばり具合。大きいほど不安定で、体験が読みにくい。 |
| 外れ値 | ごく限定的・断続しない形でしか出ない異常値。無視してよいかは根拠とともにPOと合意する。 |
| ヒストグラム | 値の分布を棒グラフで見たもの。二つの山(二峰性)など、平均やp50だけでは見えない形が分かる。 |
品質・可用性の指標
| 用語 | ざっくりの意味 |
|---|
| 遵守率 | 基準を満たしたリクエストの割合。「5秒以内・遵守率90%」なら9割が5秒以内でOK。 |
| エラー率 | 全リクエストに占める失敗(5xxなど)の割合。速さとは別の品質シグナル。 |
| 可用性/稼働率 | 使える時間の割合(例:99.9%)。性能というより障害・運用寄りの観点。 |
| SLI/SLO/SLA | 測る指標(SLI)/自分たちの目標(SLO)/顧客との約束(SLA)。合格基準の土台になる考え方。 |
| Apdex | 満足/許容/不満の閾値から算出する、ユーザー満足度を0〜1で表す指標。 |
| エラーバジェット | 許容できる失敗の「予算」。SLOを下回らない範囲でどこまで攻めてよいかの目安。 |
試験の種類(負荷の「かたち」)
| 用語 | ざっくりの意味 |
|---|
| 性能試験/負荷試験 | システムに負荷をかけ、要件どおりの性能が出るかを確かめる試験の総称(両者は曖昧に使い分けられることも多い)。 |
| ロード(負荷)試験 | 想定されるピーク相当の負荷をかけ、要件を満たすかを見る基本形。 |
| ストレス試験 | 想定を超えて限界まで上げ、どこで壊れ、どう復帰するかを見る。 |
| スパイク試験 | 短時間に負荷を垂直に跳ね上げ、急増(バズ・CMなど)に耐えられるか、オートスケールが追いつくかを見る。 |
| ロングラン(耐久・ソーク)試験 | 長時間流し続け、メモリリークや接続・トークン枯渇など、時間でじわじわ出る問題を見る。 |
| ボリュームテスト | 大量データを抱えた状態での挙動を見る。 |
| キャパシティテスト | どこまでさばけるか上限を測り、将来の増加に備える。 |
| スケーラビリティテスト | 台数やリソースを増やしたとき、ちゃんと性能が伸びるかを見る。 |
| 性能回帰テスト | 変更の前後で性能が劣化していないかを確かめる。 |
| 片系(フェイルオーバー)試験 | 障害で片側が落ちても、縮退した状態でサービスと性能を保てるかを見る(障害試験寄りの観点)。 |
「現実的な負荷」の作り方(負荷モデル)
| 用語 | ざっくりの意味 |
|---|
| シナリオ | 一連のユーザー操作(ログイン→閲覧→詳細表示…)をまとめた単位。 |
| ワークロードモデル | 誰がどの操作をどの割合でするか、という負荷全体の設計図。 |
| 重み | 各シナリオの出現頻度。よくある操作ほど高くして現実の比率に近づける。 |
| ThinkingTime(考える時間) | 操作と操作の間に挟む待ち時間。人間が画面を見て考える間を再現する。 |
| ペーシング | シナリオ1周の繰り返し間隔。実際の利用ペースに合わせる。 |
| 読み書き比率 | 読み取りと書き込みの割合。権限種別と人数比から決めると実態に近づく。 |
| ランプアップ/ランプダウン | 負荷を階段状に上げる/下げること。「どの接続数から崩れるか」が見える。 |
| 定常状態(ステディステート) | 負荷が一定で安定した区間。この区間の値で評価する。 |
| ピーク/ピーク係数 | 最も混む時間帯の負荷/平常の何倍かという倍率。 |
| オープン/クローズドモデル | 一定レートで次々来る(オープン)か、決まった人数が回し続ける(クローズド)か、という負荷のかけ方の考え方。 |
| リトルの法則 | 平均同時数 = 到着率 × 平均滞在時間。必要な同時接続数などの見積もりに使える。 |
計画・基準・合意
| 用語 | ざっくりの意味 |
|---|
| 非機能要件 | 機能そのものではなく、速さ・安定性・可用性といった品質の要求。性能試験の出発点。 |
| 合格基準 | 何をもって合格とするかの線引き。要件の数字(例:p90 5秒以内)を事前にPOと合意しておく。 |
| ウォームアップ/コールドスタート | キャッシュ等を暖めた定常状態/冷えた最悪ケース。合否はウォームアップ後の値で判定する。 |
| データ条件 | どれだけのデータ量で測るか。本番稼働後もしばらく劣化しない容量(将来を見込んだ量)をPOと合意して決める。 |
ボトルネックと切り分け
| 用語 | ざっくりの意味 |
|---|
| ボトルネック | 全体の足を引っ張る、いちばん詰まっている箇所。 |
| 水平スケール/垂直スケール | 台数を増やす(水平)/1台を強くする(垂直)。コンテナは水平に強く、DBは共有の土台で増やしにくく上限もある。 |
| オートスケール | 負荷に応じて自動で台数を増減する仕組み。上限設定が低いとレスポンス頭打ちの原因になる。 |
| サイジング | どのくらいのスペック・台数を割り当てるか。想定負荷に対して妥当かを確かめる。 |
| キャパシティプランニング | 将来の負荷増を見越して、必要なリソース量をあらかじめ見積もること。 |
DB・アプリの詰まりどころ
| 用語 | ざっくりの意味 |
|---|
| スロークエリ | 実行の遅いDBクエリ。DB側ボトルネックの典型。 |
| インデックス | 検索を速くするDBの仕組み。欠けていると大量データで一気に遅くなる。 |
| N+1問題 | 1件取るたびに追加クエリが飛び、クエリ数が爆発するアプリ設計の不備。 |
| コネクションプール | DB接続を使い回す仕組み。足りないと接続待ちやエラーになる。 |
| ガベージコレクション(GC) | 不要メモリの自動回収。長時間試験で周期的な遅延スパイクの原因になることがある。 |
| メモリリーク | 使ったメモリが解放されず増え続ける不具合。ロングランで顕在化しやすい。 |
| キャッシュ/ヒット率 | 結果を一時保存して再利用する仕組み/そのうち再利用できた割合。高いほど速く軽い。 |
| レート制限(スロットリング) | 過剰な負荷を意図的に制限する仕組み(WAFなど)。試験では制限に当たっていないか注意。 |
監視・計測
| 用語 | ざっくりの意味 |
|---|
| リソース使用率 | CPU・メモリなどの使用割合。どの層が詰まっているかの手がかり。 |
| プロファイリング | 処理の内部を計測し、どこで時間を食っているかを細かく突き止める。 |
| APM(アプリ性能監視) | アプリ内部の処理やクエリを可視化し、ボトルネックを追う監視の仕組み。 |
| 分散トレーシング | 1リクエストが複数サービスをまたぐとき、どこで時間がかかったかを追跡する。 |
ツール
| 用語 | ざっくりの意味 |
|---|
| Locust/JMeter/Gatling/k6 | 代表的な負荷生成ツール。今回使ったのはPythonでシナリオを書けるLocust。 |
| pgbench | PostgreSQL用のベンチマークツール。DB単体の性能を測る(2段階切り分けの2段目で使う想定)。 |
| CloudWatch/Prometheus・Grafana | メトリクスの収集・可視化に使う監視系。CPUやスケーリング状況などを記録・グラフ化する。 |
| 分散負荷(マスター/ワーカー) | 1台では足りない負荷を、複数台から協調してかける構成。 |
✨ このカテゴリーのAIまとめ記事を見る