消費者向けWebサイトの負荷テストを探しています。JMeterを使ってみました。ただし、その場合、すべてのリクエストは1台のマシンから発信されます。私が本当に望んでいるのは、全国の実際のユーザーを低速ダイヤルアップ接続でシミュレートしたり、高速ダイヤルアップ接続でシミュレートしたりすることです。
このようなシナリオで従うべきベストプラクティスは何ですか?
消費者向けWebサイトの負荷テストを探しています。JMeterを使ってみました。ただし、その場合、すべてのリクエストは1台のマシンから発信されます。私が本当に望んでいるのは、全国の実際のユーザーを低速ダイヤルアップ接続でシミュレートしたり、高速ダイヤルアップ接続でシミュレートしたりすることです。
このようなシナリオで従うべきベストプラクティスは何ですか?
JMeterは分散テストをサポートしているため、ツールとしての使用に既に慣れている場合は、JMeterを使用して、任意の数のマシンからのこれらの分散リクエストを処理することもできます。
すべてのマシンがまったく同じテストプランを実行するため、プランで高速/低速環境をランダムに選択するか、システムプロパティに基づいて使用するプロファイルを選択できる場合があることに注意してください。
LoadImpactなどのサードパーティサービスの使用を検討することをお勧めします。
あなたは、2つの異なる、しかし関連する懸念を表明しました。単一のマシンからのトラフィックと、さまざまなエンドユーザーネットワーク速度のシミュレーションです。
なぜ最初のものがあなたのテストの懸念事項なのですか?負荷分散アルゴリズムの一部としてIPアドレスを使用するロードバランサーがない限り、サーバー(およびアプリケーションプラットフォーム)の大部分は、すべてのトラフィックが単一のマシン(またはIPアドレス)から来ていることを気にしません。また、負荷ジェネレーターのOSを複数のIPアドレス用に構成でき、より優れた負荷テストツールがそれらのIPアドレスを利用して、トラフィックがすべてのIPアドレスから来るようにすることにも注意してください。
エンドユーザーのネットワーク速度のシミュレーションについても、より優れた負荷テストツールがこれを行います。これにより、実際に分散ロード生成を使用しなくても、帯域幅がページのロード時間にどのように影響するかをかなりよく理解できます。しかし、ツールは多くの場合、レイテンシーを考慮していません。それはあなたの負荷生成を分散することに代わるものがないところです。
少し面倒かもしれませんが、JMeterを使用して分散テストを行うことができます。いくつの場所が必要ですか?あなたが何を必要としているかについてもっと知ることなく、私の最初の提案はあなたが必要とすることをするために特別に設計された機能を持っているツールを選ぶことでしょう。私たちの製品であるWebPerformanceLoad Testerをポン引きしますが、確かに他のオプションもあります。Load Testerは、さまざまなエンドユーザー接続速度をエミュレートでき、Amazon EC2から負荷を生成するためのサポートが組み込まれています(米国の東西海岸とダブリン、IR ...アジアのサポートは近日公開予定)。EC2アカウントを設定すると、クラウドから10分で最初のテストを実行できます。