同時ユーザーテスト
同時接続ユーザーとは何ですか?
負荷テストの同時ユーザーとは、実行するアクティビティや要求に関係なく、特定の時間枠でWebサイトまたはソフトウェアアプリケーションをアクティブに操作する仮想ユーザーまたはシミュレートされたユーザーを指します。 ロード テストでは、同時ユーザーが同時に関与することはなく、アクションやタスクが異なる場合があります。 たとえば、テストシナリオでは、複数の仮想ユーザーがさまざまな目的やトランザクションステップを個別に実行し、さまざまな条件下でのシステムのパフォーマンスを示す場合があります。
同時ユーザーテストとは?
同時ユーザーテストは、パフォーマンステストの一種で、Webサイトまたはソフトウェアアプリケーションが、それに関与する特定の数の同時ユーザーをどれだけうまく処理できるかを評価することが含まれます。
同時ユーザーテストは、複数のユーザーに対してWebサイトをテストする場合に非常に重要です。 これは、特定の数のユーザーが同時に要求を行った場合のWebサイトの応答時間を特定することを目的としています。 これは、サーバーがこれらの同時要求にどれだけ迅速に応答できるかを測定し、Webサイトのパフォーマンスのボトルネックを特定するのに役立ちます。 コンカレンシー テストでは、ソフトウェアと同時に対話する複数のユーザーまたはプロセスをシミュレートすることで、シングルスレッド コードのロック、デッドロック、バグなどの問題を特定するだけでなく、アプリケーションの安定性、応答性、およびさまざまな負荷下でのクラッシュや誤った結果の防止も保証します。
同時ユーザーテストは、同時ユーザーテストと間違えられることがあります。 同時接続ユーザー数は、特定の時点でWebサイトまたはアプリケーションを使用またはアクセスする個人の総数を表します。 対照的に、同時ユーザーとは、特定の時点で特定のトランザクションを同時に実行する訪問者です。 特定のページに 100 人の異なる訪問者がいる場合、40 人のユーザーがポータルに同時にログインした場合、パフォーマンスにどのような違いがあるかを考えてみましょう。 これは、同じアクションを同時に実行しているため、同時ユーザーテストの場合です。 詳細については、 同時ユーザーテストと同時ユーザーテスト の記事をご覧ください。
同時ユーザーテストの実行方法
ユーザーテストの同時実行は、必ずしも難しいことではありません。 これは複数のステップからなるプロセスですが、Webサイトやアプリケーションがスムーズに動作することを確認するために、同時ユーザーの負荷テストを行う必要があります。 同時ユーザーテストを実行する方法については、ステップバイステップガイドに従ってください。
1. テストとテスト シナリオを特定する
開始する前に、テストするシナリオを決定する必要があります。 Web サイトやアプリケーションのテストが必要な領域を検討する必要があります。 これは通常、Webサイトまたはアプリケーションのユーザーが最も対話する場所です。 たとえば、eコマースサイトがある場合、Webサイトまたはアプリケーションのチェックアウトプロセスをテストできます。
テストを定義する際に考慮すべき要素がいくつかあります。 予想される同時ユーザーの数、ユーザーが実行する操作の種類、または同時ユーザーがアクセスまたは変更できるデータを確認する必要がある場合があります。 これらすべての要因は、ユーザーの実際のアクションを反映する必要があります。 また、Web サイトやアプリケーションのパフォーマンス ニーズを満たすテストのベースラインまたは成功基準を定義する必要があります。
テストを設計する際に考慮すべきその他の要素:
ピークトラフィック: Web サイトまたはアプリケーションに接続しているユーザーの数。
リソース使用率: CPU、帯域幅、メモリ、およびサーバー リソースを監視して、システム パフォーマンスを評価します。
ロード時間: 同時ユーザーの影響により、Webサイトまたは個々のページの読み込み時間を測定します。
ソークテスト: 一貫した同時ユーザー数で長期間にわたるWebサイト/アプリケーションのパフォーマンスを評価します。
サードパーティ API: メインアプリケーションと組み合わせたサードパーティ統合の負荷処理能力をテストします。
データベース接続の最大数: データベース接続に対する同時ユーザーの影響を評価します (増加する可能性がありますが、常にではありません)。
最大HTTPリクエスト数: 複数の種類の HTTP 要求を処理するサーバーの容量を決定し、処理能力に制限を設定します。
2. 同時ユーザーテストツールを選択する
複数のユーザー向けにWebサイトをテストするのに役立つツールはたくさんありますが、テストと結果を確実に成功させるためには、適切なテストツールを選択することが重要です。 JMeter、Gatling、K6 など、使用できるオープンソースのテスト ツールがいくつかありますが、最良のテスト結果を得るには、LoadView のソリューションを使用することをお勧めします。
LoadView を使用すると、独自のロード インジェクタや仮想マシン イメージを作成し、数ギガバイトのファイルをクラウドにアップロードする必要はありません。 負荷テスト計画の準備ができたら、複数の負荷曲線(負荷ステップ、目標ベース、動的調整可能)から選択し、毎分サイトにアクセスする同時ユーザー数を選択するだけで、テストを実行する準備が整います。
LoadView は、個々の仮想ユーザー セッションごとにメトリックを収集して、ページの平均パフォーマンスを高レベルで確認し、特定の時点でのページ上の各要素のパフォーマンスの詳細をドリルダウンできるようにします。
3. テストスクリプトの作成または記録
Web サイトまたはアプリケーションでの同時ユーザーアクションを定義するテストスクリプトを記述する必要があります。 作成するスクリプトは、実際のユーザーのアクションを複製する必要があります。 たとえば、ユーザーが HTTP リクエストを行ったり、フォームに入力したり、アカウントにログインしたり、チェックアウトプロセスを実行したりするテストスクリプトを作成できます。 テスト スクリプトを作成するときは、同時ユーザー数、ランプアップ時間、およびテスト期間を指定する必要があります。
LoadView などのツールは、最も複雑なユーザー シナリオをテストできる強力なスクリプト ツールを提供します。 LoadView のレコーダーを使用すると、Web トランザクションのすべてのステップを記録し、実際のブラウザーでスクリプトを再生できます。 アクションが記録されると、LoadView はテストに使用するスクリプトを作成します。
4. テストの実行と実行
テストシナリオを明確に定義し、スクリプトを作成したら、最後に、指定したパラメーターを使用してテストを実行して実行できます。
5. テスト結果の分析
テストの実行中に、Webサイトまたはアプリケーションのパフォーマンスを綿密に監視して、シームレスに実行されていることを確認します。 応答時間、CUPとメモリの使用量、データパフォーマンス、および発生する可能性のあるエラーを確認する必要があります。 テストが完了し、結果が完成したら、テストを確認して、パフォーマンスのボトルネックや発生した可能性のあるその他の問題を特定する必要があります。 このことから、テスト結果を、テストの定義時に設定した成功基準およびベースライン メトリックと比較することで、Web サイトまたはアプリケーションがパフォーマンスのニーズを満たしているかどうかを判断できます。
6. 既存のプロセスとの統合
特定された問題に対処した後は、CI/CD パイプラインの一部として同時ユーザー テストを頻繁に並行して実行してテストを反復し、潜在的なボトルネックやバグを早期に発見できるようにします。
LoadView を使用した同時ユーザー テスト
LoadView では、さまざまな方法で同時実行ユーザー テストを実行できます。 たとえば、同時ユーザー数が 10 人程度のロード テストを開始し、5 分間これらのユーザーを実行して、ベースライン パフォーマンス メトリックを確立できます。 ベースラインを確立した後、同時ユーザー数が 100 人に達するまで、1 分間に 10 人の同時ユーザー数を増やすことができます。 さらに 5 分間、さらに 5 分間テストを実行して、結果が平準化されるように、さらに 100 人の同時ユーザーごとに実行することもできます。
多くのWebサイト負荷テストプラットフォームは、サイトへのトラフィックを内部で生成しますが、これはインターネットから発信された本物の顧客トラフィックを忠実に再現するものではありません。 本物のロード テストでは、コンテンツ配信ネットワーク (CDN)、ロード バランサー、マルチノード サーバー ファーム、その他のトラフィック最適化ツールなど、さまざまな要素を考慮に入れることができます。
LoadView では、一流のクラウド プロバイダーを使用してトラフィックの発信元を選択でき、40 を超える Azure Cloud Services と Amazon Web Services (AWS) の場所から選択できます。 これにより、トラフィックのほとんどがサイトやアプリケーションに流入するのと同じリージョンをテストできます。 さらに一歩進んで、必要に応じて、地理的な場所ごとに異なる割合のトラフィックを割り当てることができます。 これにより、多数の同時ユーザーの要求に応じて、Web サイトのページやアプリケーションの読み込み速度が一貫して高速であることを確認できます。
次のレベル
無限のスケーラビリティで比類のない機能を体験できます。 クレジットカードなし、契約なし。