web-dev-qa-db-ja.com

負荷テストで使用する同時ユーザーの数を計算するにはどうすればよいですか?

Load Impactでこの質問にかなり頻繁に遭遇したので、見つけやすくするためにStack Overflowコミュニティに追加したいと思いました。

1か月、1週間、または1日の間に通常表示されるのと同じ種類のトラフィックでシステムに負荷をかけるために、負荷テスト中にシミュレートする必要がある同時ユーザー(VU)の数をどのように計算しますか?

11
Ragnar

負荷テストを実行するには、テスト中にシミュレートする同時ユーザーの数を指定する必要があります。言い換えると、アクティブなもの、ロード中のもの、またはサイト/アプリと同時にやり取りするシミュレートされたユーザーの数です。残念ながら、たとえばGoogle Analyticsを見ると、1日または1か月あたりのWebサイトへのアクセス数しかわかりません。サイトの月間訪問数は100万回ですが、それでも同時に発生する最大同時訪問者数は100人までです。

Googleアナリティクスまたはその他の分析システムからの「Xあたりの訪問数」指標を、負荷テストに使用できる「同時ユーザー」指標に変換するには、次の方法を使用できます。

まず、2つのことを見つけます。

  1. サイト/アプリがピークトラフィックレベルにある場合、短期間の総訪問数が必要です。これは、たとえば、 Google Analyticsを使用して、1時間の訪問数の最大値を確認します。月。訪問数が最も多かった日を見て、ドリルダウンして、その日の何時が最も忙しかったか、その時間内に何回訪問したかを確認します。この値を書き留めます。このテキストでは、この値を「peak_hourly_visits」と呼びます。

  2. ユーザーがサイト/アプリの操作に費やす平均時間を知る必要があります。 Googleアナリティクスでは、これは「平均セッション継続時間」と呼ばれ、このテキストでもこれを呼び出しますが、「サイトの平均滞在時間」と呼ばれることもあります。見ている期間に応じてサイト/アプリのこの値が大きく変化する場合は、より大きな値の1つを使用して、安全を確保することができます。私たちは常に秒単位で欲しいので、例えばGoogle Analyticsは、「00:03:19」(3分19秒)と伝え、平均セッション時間として199を書き留めます。

これらの2つの値がある場合は、この式を使用して、負荷テストで使用する同時ユーザーの数を計算します。

concurrent_users =(peak_hourly_visits * average_session_duration)/ 3600

負荷テストでシミュレートされた各ユーザー(VU)が現実的に動作する(つまり、実際のユーザーをうまくシミュレートする)場合、通常はピークのトラフィック時間中にのみ表示されるのと同じ種類のトラフィックでサイト/アプリにストレスをかけることができます。

22
Ragnar