【ふかてすと】

負荷テスト とは?

💡 システムに「わざと混雑を作って限界を測る」テスト
📌 このページのポイント
負荷テストの流れと結果 テストツール JMeter k6 / Locust Gatling 大量リクエスト 対象サーバー Webアプリ API データベース レスポンスタイム 同時接続数 限界 スループット 秒間処理件数(RPS) レイテンシ 応答時間(p95/p99) エラー率 5xx応答の割合 同時接続数 最大何人まで 負荷テスト 想定負荷で動作確認 ストレステスト 限界まで負荷をかける スパイクテスト 急激な負荷増大
負荷テストのイメージ
ひよこ ひよこ

本番で障害が出てから直せばいいんじゃないの?

ペンギン先生 ペンギン先生

それが最悪のシナリオ。人気サービスが「本番で1万人同時アクセスして全部落ちた」なら信用問題になる。事前に「1万人まで耐えられるか?」を模擬的に確認して、耐えられなければ事前に改善しておくのが負荷テストの目的。

ひよこ ひよこ

どれくらいの負荷をかければいいの?

ペンギン先生 ペンギン先生

「想定最大アクセス数の1.5〜2倍」が目安。キャンペーンや炎上で急にアクセスが増えることも想定して余裕を持った設計が大事。過去のアクセスログからピーク時の3倍を基準にするチームもある。

ひよこ ひよこ

ボトルネックって具体的にどうやって見つけるの?

ペンギン先生 ペンギン先生

負荷をかけながらサーバのCPU使用率・メモリ・DBのクエリ実行時間・ネットワーク帯域を同時にモニタリングする。「CPU100%なら処理能力不足・DBのクエリが遅ければインデックス不足・メモリが溢れればメモリリーク」と原因の種類が違う。

ひよこ ひよこ

本番と同じ環境でないと意味がないの?

ペンギン先生 ペンギン先生

理想は本番同等の環境。ただしコストが高いので、スペックを揃えた「ステージング環境」で測定して結果を換算することも多い。大事なのは「本番と同じOS・同じDBの設定・同じネットワーク構成」。見落としやすいのがDBのデータ量で、テスト用の空のDBでは本番の遅さは再現できない。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
負荷テストって出てきたら「大量のアクセスでシステムがどこまで耐えられるか測るテスト」と思えばだいたいOK!
📖 おまけ:英語の意味
「load testing」 = 負荷(load)をかけるテスト
💬 「load(荷重・負荷)」を意図的に高めてシステムの耐性を測るという意味。「ストレステスト」とほぼ同義で使われることも多い
← 用語集にもどる