Azure EventHubを使用するアプリケーションを開発しています。これは、多数のイベントを発行および処理するための非常にスケーラブルなソリューションであると主張しています。最終的なソリューションをロード テストして、システム全体が要件に適合するかどうかを確認したいと考えています。スループット ユニットを EventHub に追加して、予想されるイングレスを処理します。
私のクライアントは、EventHub の HTTP エンドポイントを使用してイベントを公開しています。これは、実際には、クライアントがイベントを公開したいときに、次のような特別な URL に HTTPS POST 要求を送信することを意味します。
//mynamespace.servicebus.windows.net/myeventhub/publishers/mypublisher
このサービスをローカル マシンから簡単に負荷テストできます (たとえばApache JMeterを使用) が、残念ながらローカル マシンのリソースが限られているため、サービスをテストするために大きな負荷を生成することはできません。
大きな負荷がかかるとはどういう意味ですか?
1 秒あたりの指定された数のリクエストについてシステムをテストする必要があります。この指定された数は、20,000 から 100,000 の間の量である必要があります。したがって、最悪の場合、100,000 リクエスト/秒でテストする必要があります。
このような大きな負荷を生成できる複数のクラウド負荷テスト ツールがあり、それらは問題ありませんが、テストしたいシステムが自分の所有物であることを確認する必要がある場合、クラウド内の各負荷テスト ツールにはいくつかの確認手順が必要です。(したがって、ロード テスターは WhiteHouse Web サイトに対して DDoS 攻撃を行いません。)
そのためには、通常、テストを実行する前に、ロード テスター ツールによってチェックされる検証トークンを URL にアップロードする必要があります。残念ながら、この場合、EventHub のエンドポイントを制御できないため、トークンを次の場所にアップロードできません。
//mynamespace.servicebus.windows.net/verificationToken.txt
Azure EventHubs と連携できるクラウドの負荷テスト ソリューションはありますか?
そうでない場合、EventHub ベースのサービスをロード テストするにはどうすればよいですか?