夜の開発オフィスで、エンジニアがアクセス数の山なりのグラフが映るモニターを見ながら、負荷試験の計画をノートに書き出している場面

AIに負荷試験のシナリオを考えさせる|本番の山を見積もる型

「来週リリースだから、負荷試験もやっておいて」

そう言われて、とりあえずAIに「ECサイトの負荷試験シナリオを作って」と頼んだことはありませんか。返ってきたのは、同時接続1,000ユーザー、ランプアップ10分、目標応答2秒以内……それらしい数字が並んだ立派な計画です。

でも、ふと手が止まる。この1,000という数字は、どこから来たんだろう。

ここで立ち止まれたなら、それはもう半分うまくいっています。負荷試験でいちばん大事なのは、ツールの使い方より「本番の山がどのくらいか」を自分たちの数字で決めることだからです。この記事では、その見積もりを人が持ち、AIには得意なところを任せる分担で、性能テストのシナリオを組み立てる手順を一緒に整理します。

結論:AIに負荷試験のシナリオを頼むときは、①本番の山(ピーク)の数字はアクセスログから自分で出す → ②AIには「ユーザーの操作の流れ」と「操作の比率」の案を出させる → ③どんな負荷のかけ方をするか(ピーク・長時間・急増)の観点を洗わせる → ④合格ラインと観察する指標を先に決める → ⑤小さく流して、結果の読み方をAIと一緒に確かめる、の順で進めると、数字に根拠のある試験になります。AIが出す数字は「例」であって、あなたのシステムの値ではありません。

AIに丸投げした負荷試験シナリオで、何が起きやすいか

AIは負荷試験の「形」を作るのがとても上手です。ツールのスクリプトの書き方も、シナリオの構成も、一般的な観点も、さっと出してくれます。

ただ、AIはあなたのサービスのアクセスログを見ていません。だから、丸投げすると次のようなことが起きやすくなります。

どれも、AIが悪いわけでも、頼んだ人が悪いわけでもありません。AIに渡していない情報は、AIには分からない。それだけのことです。だから、渡す情報と自分で決めることを分ければ、ちゃんと役に立つ相棒になります。

ステップ1:本番の山は、アクセスログから自分で見積もる

1日のアクセス数の山なりのグラフから、いちばん高い時間帯を「ピーク」として読み取り、それに余裕を上乗せして「目標」の高さを決める流れを示した図
山の高さはログから自分で読む。そこに余裕を足した高さが、負荷試験の目標になる

最初にやるのは、AIへの依頼ではなく、自分たちのアクセスの山を知ることです。

見る場所は、すでに手元にあるもので十分です。

ここから、いちばん混む時間帯の1時間あたりのリクエスト数を拾います。新規サービスでログが無いときは、「想定利用者数×1人あたりの操作回数×混む時間帯への集中度」で仮置きし、仮置きであることをメモに残しておきます。

計算の例を置いておきます(数字は説明用の例です)。

項目例計算
ピーク1時間のリクエスト数18,000件ログから読む
平均の秒間リクエスト数5件/秒18,000 ÷ 3,600秒
瞬間の山(1時間の中の偏り)15件/秒平均の3倍と仮定
試験の目標30件/秒瞬間の山の2倍で余裕を見る

「平均の3倍」「2倍の余裕」といった倍率は、チームやサービスによって考え方が違います。大事なのは倍率の正解ではなく、どの数字をどこから取って、何倍にしたのかを書き残すこと。これがあれば、試験後に「なぜこの負荷で試したの?」と聞かれても、落ち着いて説明できます。

セールやキャンペーン、月末の締め処理など、ふだんと違う山が来る予定があれば、それも一緒に書き出しておきましょう。性能の要件そのものに抜けがないか気になるときは、非機能要件の抜け漏れをAIに洗わせるもあわせてどうぞ。

ステップ2:AIには「操作の流れ」と「比率」の案を出させる

山の高さが決まったら、ここからがAIの出番です。負荷試験のシナリオで手間がかかるのは、ユーザーが実際にどう動くかを組み立てるところ。ここはAIがたたき台を作るのが得意です。

渡す材料は、次の3つです。

頼み方の例です。

次のWebシステムの負荷試験シナリオの「操作の流れ」と「比率」の案を作ってください。

## システムの概要
(例:社内向けの受発注システム。取引先が発注を入力し、社内で承認する)

## 画面・APIの一覧
(一覧を貼る)

## アクセスログで多いURL(多い順)
(上位15件程度を件数つきで貼る)

## 重いと分かっている処理
- 月次の発注一覧CSV出力
- 取引先別の集計画面

## お願いしたいこと
- ユーザーの種類ごとに、典型的な操作の流れを3〜5本に分けてください。
- 各流れの比率(全体に占める割合)の案を、ログの件数から根拠を示して出してください。
- 重い処理をどの流れにどの頻度で混ぜるかも提案してください。
- 同時ユーザー数や目標の秒間リクエスト数は、こちらで決めるので提案不要です。

最後の一行がポイントです。山の高さは人が決める、と先に伝えておくと、AIが一般論の数字を混ぜてくるのを防げます。

返ってきた比率は、ログの件数とざっと突き合わせます。「閲覧系が9割と言っているけど、ログを見ると検索APIだけで半分ある」のようなズレが見つかれば、そこを直すだけで試験がぐっと本番に近づきます。

ステップ3:負荷のかけ方の観点をAIに洗わせる

負荷試験は「ピークの負荷を1回かけて終わり」ではありません。どんな問題を見つけたいかによって、かけ方が変わります。ここは観点の洗い出しとして、AIに一覧を出してもらうのが効率的です。

かけ方見つけたいこと例
ピーク試験目標の負荷で応答時間・エラー率が許容内か目標30件/秒を30分維持する
長時間試験時間がたつと悪くなる問題(メモリ・接続の溜まり)ふだんの負荷を数時間流し続ける
急増試験一気に増えたときに耐えられるか、戻るか数秒で平常の数倍に跳ね上げる
限界試験どこまでで、どこが先に音を上げるか少しずつ上げて、壊れ始める点を探す

全部を最初からやる必要はありません。リリース前に最低限ならピーク試験、運用中に「夜になると遅くなる」ような話があるなら長時間試験、と目的から選びます。

AIには「このシステムで、上の4つのうちどれを優先すべきか、理由とあわせて提案して」と聞くと、見落としていた観点を拾ってくれることがあります。一方で、外部の決済APIや他社のサービスに負荷をかけてしまわないかは、人が必ず確かめるところです。外部APIはモック(スタブ)に差し替えるか、相手先の試験環境の利用ルールを先に確認しておきましょう。モックの作り方はAIにモック・スタブを書かせるときの確認点も参考になります。

ステップ4:合格ラインと、見る指標を先に決める

試験を流す前に、何が出たら合格かを決めておきます。あとから結果を見て決めると、どうしても「まあ大丈夫そう」に寄ってしまうからです。

決めておきたいのは、だいたい次の3つです。

合格ラインの数字そのものは、業務の要件や画面の性質で変わります。ここはAIに「一般的な目安」を聞くのはよいとして、最終的な値は要件・利用者・上長と合意した数字にします。

あわせて、試験中にサーバー側で何を見るかも決めておきます。負荷ツールの画面だけ見ていると、「遅くなった」ことは分かっても「どこが詰まったか」が分かりません。アプリ・DB・外部連携のどこを観察するかを、AIにログの抜けを洗わせる手順の考え方で事前にそろえておくと、結果の読み解きが楽になります。

ステップ5:小さく流して、結果の読み方をAIと確かめる

いきなり目標の負荷をかけず、まずは目標の1割くらいで流します。スクリプトの書き間違い(ログインに失敗してエラーページばかり叩いている、など)は、ここで見つかることがよくあります。

負荷ツールは、k6・JMeter・Locust・Gatling など、チームで使い慣れたもので構いません。AIにスクリプトを書かせた場合は、ログイン状態やセッションの引き継ぎ、テストデータの使い回しが想定どおりかを、少量で流して確かめてから本番の負荷に進みます。テストデータの作り方はAIにテストデータを作らせる型にまとめています。

結果が出たら、数値とグラフの要点をAIに渡して読み方を相談するのも有効です。

ここでもAIが出すのは原因の候補です。「DBのインデックス不足です」と言い切られても、実際に遅いクエリを確かめるまでは仮説として扱います。直し方を検討する段階に進んだら、AIにパフォーマンス改善の候補を出させる手順の流れで、計測しながら一つずつ確かめていきましょう。

負荷試験の根拠があると、何が変わるか

山の見積もりと合格ラインに根拠があると、試験のあとの会話が変わります。

上への報告の仕方に迷ったら、AI活用の成果を数字で報告するコツの型がそのまま使えます。

明日からやること(小さく始める3つ)

全部を一度に整えなくて大丈夫です。まずはこの3つから。

  1. アクセスログから、ピーク1時間のリクエスト数を1つ拾う:それを3,600で割るだけで、試験の目標を考える出発点ができます。
  2. よく呼ばれるURLの上位10件を書き出す:これがあれば、AIに頼む操作の流れが一気に本番に近づきます。
  3. 合格ラインを3行で書いてみる:応答時間・エラー率・サーバーの余裕。仮の数字でも、書くと議論が始められます。

AIで負荷試験シナリオを作るときのチェックリスト

試験を流す前に。今日は使えるところだけで十分です。

山の見積もり:

シナリオ:

合格ラインと観察:

流し方:

最後に

「負荷試験もやっておいて」は、さらっと言われるわりに、ひとりで抱えると重たい仕事です。どれだけの負荷をかければいいのか、誰も教えてくれないことも多いですよね。

でも、その答えはたいてい、もう手元のアクセスログの中にあります。山の高さを自分で拾って、AIには操作の流れと観点を手伝ってもらう。それだけで、「なんとなく流した試験」は「根拠を説明できる試験」に変わります。

朝のオフィスで、負荷試験を終えたエンジニアが安定したグラフを映すモニターを前に、同僚と笑顔でうなずき合っている場面

最初の一歩は、ピーク1時間の数字をひとつ拾うことから。その数字があれば、AIとの相談も、上への説明も、ちゃんと地面に足がついたものになります。

よければ、こちらも

関連用語