負荷テスト: 思考時間、ペース、遅延



パフォーマンステストにおける思考時間とは何ですか?

ロード テストの待ち時間とは、パフォーマンス テスト中に連続するユーザー アクション間のシミュレートされた遅延または一時停止を指します。 これは、ユーザーが 1 つのアクションを完了した後、次のアクションを開始する前に、考えたり、読んだり、またはその他の非アクティブに費やす時間を表します。 テスト シナリオをより現実的にし、アプリケーションを操作する実際のユーザーの自然な動作を模倣するために、思考時間がテスト シナリオに導入されます。

たとえば、ユーザーが製品タイルを選択する e コマース Web アプリのシナリオについて考えてみます。 次に、商品表示ページに移動し、そのページのコンテンツを消費して読んでから、最終的に「カートに追加」ボタンをクリックします。 商品タイルをクリックしてから「カートに入れる」をクリックするまでの経過時間は、思考時間と呼ばれます。

通常、ロード テストについて考えるときは、Web アプリケーション、Web サイト、または API に対して大量の同時ユーザーを提供して、ストレス下でのパフォーマンスを確認することを考えます。 思考時間は、購入までの経路、製品の検索、アカウントへのログインなど、ユーザージャーニーのステップをより適切にシミュレートするのに役立ちます。 これらの例にはそれぞれ異なる待ち時間の値があり、ロード テストを行う際にはこれらを考慮することが重要です。

思考時間の利点

  • リアリズム: 思考時間を含めると、システムを継続的に操作しないユーザーの自然な動作が再現されます。 これにより、ロード テスト シナリオの現実性が向上し、実際のユーザー エクスペリエンスをより反映したものになります。
  • ユーザーシミュレーション精度: 待ち時間は、テストプロセス中のユーザーの行動を正確にシミュレートするのに役立ちます。 ユーザーは通常、コンテンツを読んだり、決定を下したり、行動を考えたりすることに時間を費やし、これらの自然な一時停止をシミュレートできると考える時間があります。
  • パフォーマンス: 待ち時間は、要求と要求の間に実行サーバーマシン上のリソースを解放します。 これにより、実行サーバー上の他の仮想ユーザー (VU) が要求を送信できるようになり、実行サーバーマシンで I/O 制約が発生するのを防ぐことができます。
  • トラブルシューティングの改善: 現実的な待ち時間シナリオは、一時停止のないシナリオでは明らかではないパフォーマンスのボトルネックを検出するのに役立ちます。 これは、ユーザーセッション、セッション管理、およびシステム全体の応答性に関連する問題を明らかにするのに役立ちます。

待ち時間を使用する場合

ロード テストに待ち時間を組み込むことは、ユーザーごとに異なるため、困難な場合があります。 明るい面では、思考時間は柔軟であり、思考時間の値の範囲を考慮する必要があります。 たとえば、一部のユーザーは、他のユーザーよりもフォームの読み取りやフォームへのデータの入力に時間がかかる場合があります。

これらのアクションの間に思考時間を組み込んで、ユーザーがサーバーからより正確に応答を受信してから、ユーザーが新しいページを要求するまでの時間を再現する必要があります。 待ち時間はユーザー シナリオによって異なるため、Web サイトまたはアプリケーションのデータを使用して待ち時間の値の範囲を決定する必要があります。 ユーザーがページに費やす時間の中央値を決定する必要があります。

 

パフォーマンステストにおけるペーシングとは?

ペーシングは、負荷テストで使用され、テストが意図したトランザクション/秒のレートで実行されるようにします。 これは、ビジネスフローの完全なイテレーション間の時間差です。 これは、毎秒サーバーに送信される要求の数を調整するのに役立ちます。

 

負荷テストに遅延を導入することの重要性

広くリリースされる前にアプリケーションのパフォーマンスをテストすることで、タイムアウト、ページ応答の遅延、ダウンタイムなど、エンド ユーザーにとって潜在的な不便を防ぐことができます。 現実的なテスト結果を保証し、問題を明らかにするには、テストシナリオの設計に思考時間とペーシングを組み込むことが不可欠です。

たとえば、同時実行ユーザーアクション間に待ち時間を導入すると、サーバーはこの遅延を利用して、キュー内の保留中のタスクに対処します。 前のタスクを再検討する前に、次のタスクを実行します。 これは、実際のユーザーによる一般的な運用シナリオを厳密に反映しています。 さらに、思考時間を組み込むと、ユーザーがアプリケーションに費やす時間が長くなり、同時ユーザーを効果的に処理するサーバーの容量に関連する問題が明らかになります。

テスト・アプリケーションの遅延の計算

同時仮想ユーザー数、遅延数、およびトランザクション/秒 (TPS) は、アプリケーションごとに異なります。 アプリケーションの遅延を計算するには、次の式を使用できます。

  • ロード テストの期間 (秒) * (TPS + 遅延) * 同時ユーザー数 = トランザクションの合計

たとえば、10 分間のテスト (600 秒) で、それぞれ 5 秒の応答時間で 100,000 件のトランザクションを生成するとします。 思考時間が 3 秒で必要な同時ユーザーを決定するには、100,000 / (8 * 10 * 60) という式を使用し、約 21 人のユーザーになります。 このアプローチは、効果的なロード テストに必要な遅延とユーザー数を特定するのに役立ちます。

LoadView を使用したロード テストの遅延の設定

LoadView には、ブラウザーでユーザーの操作を記録することでテスト シナリオの作成を効率化する EveryStep Web レコーダーが用意されています。 ユーザーのステップを忠実に再現し、セレクター、アクション、遅延などのデータポイントをキャプチャします。 テストシナリオの作成時には、思考時間の遅延を含め、実際のユーザージャーニーをエミュレートすることが不可欠です。 記録後、ツールは、指定された同時ユーザー数で再実行できるスクリプトを生成します。 スクリプトはカスタマイズ可能で、下の画像に示すように、ユーザーはテストに必要な個々のステップの遅延を変更および更新できます。 EveryStep Web レコーダー スクリプトを編集する方法についてさらに詳しく調べます

ロード テストで正確な結果を得るための最適なアプローチは、アプリケーションに対する実際のユーザー操作をシミュレートし、ユーザー体験をキャプチャするスクリプトを作成することです。

遅延をスクリプトに追加する

LoadView を使用すると、ロード テスト時にユーザーの動作を変更することもできます。 下の画像でわかるように、[通常の遅延] または [カスタム遅延] を選択して、アプリケーションの特定のユーザー動作と遅延を設定できます。

ユーザーの動作を調整する

結論:思考時間、ペース、遅延

アプリケーションのパフォーマンステストを実施することは、本番環境にデプロイする前に重要です。 パフォーマンス関連の問題を正確に特定する上でのこのプロセスの有効性は、ベスト プラクティスを順守し、アプリケーション内の実際のユーザー アクションを網羅するテスト シナリオを開発することにかかっています。

この記事では、ロード テストにおける思考時間、ペーシング、遅延の重要性について説明しました。 これらの要素をロード テストの設計に組み込むことで、高負荷の場合でも、ページのタイムアウト、ページの応答の遅延、応答時間の不一致、サーバー エラーなどの問題を事前に検出できます。 これらの戦略を採用することで、レスポンシブで信頼性の高いアプリケーションやWebサイトの開発に貢献します。 LoadView は、このプロセスを合理化するのに役立ち、思考時間、ペース、遅延をロード テスト シナリオに簡単に組み込んで、テスト作業を最大限に活用できます。 今すぐ LoadView にサインアップすると、プラットフォームが提供するすべてのロード テストの利点が得られ、最初の初期テストを無料で実行できます。

同時ユーザーテストを
次のレベル

無限のスケーラビリティで比類のない機能を体験できます。 クレジットカードなし、契約なし。