立て続けに数千回呼び出して、Web サービス メソッドのストレス テストを行いたいと考えています。このメソッドには、呼び出しごとに異なる 1 つの文字列パラメーターがあります。
このメソッドを何度もループして呼び出す Powershell スクリプトを作成する予定です。
これを行うより良い方法はありますか?
立て続けに数千回呼び出して、Web サービス メソッドのストレス テストを行いたいと考えています。このメソッドには、呼び出しごとに異なる 1 つの文字列パラメーターがあります。
このメソッドを何度もループして呼び出す Powershell スクリプトを作成する予定です。
これを行うより良い方法はありますか?
呼び出しごとに呼び出しを実行すると、多くの同時接続の重い負荷の下でサービスがどのように動作するかがわからないため、あまり役に立ちません。
マルチスレッドソリューションを使用してください(powershellにこれがあるかどうかはわかりません)。
いくつかのオープンソース テスト ツールがここにリストされています。SOAP(デフォルト)だけでなく、GETリクエストも受け入れるようにWebサービスを設定するだけで、URLを形成できます。
これらの状況では、JMeterを使用します。最初に試してみる必要がありますが、非常に柔軟で、さまざまなスレッドでリクエストを実行し、結果をグラフィカルに表示し、ジョブをスクリプト化することもできます。
また、サーバーと同じマシンではなく、可能であれば異なるマシンで 2 つ以上のインスタンスを起動して負荷をシミュレートすることをお勧めします。
個人的には、openSTAのようなものを使用します。
これにより、Web サイトとのセッションを記録し、比較的単純なスクリプト言語で再生することができます。
Web サービスを簡単にテストして、独自のスクリプトを作成することもできます。
これにより、任意の方法でスクリプトをテストにまとめて、反復回数、各反復のユーザー数、各新規ユーザーを紹介するためのランプアップ時間、および各反復間の遅延を構成できます。テストは将来的にスケジュールすることもできます。
オープンソースで無料です。
スプレッドシートに保存できる多数のレポートを生成します。次に、ピボット テーブルを使用して、結果を簡単に分析およびグラフ化します。
他の要件があるかどうかによって異なります。ロギング、履歴など
迅速で汚いことだけが必要な場合は、問題ありません。
より堅牢なものが必要な場合は、選択した言語でテスト ハーネスをカスタム ビルドするか、Mercury、MS Team Tester、nUnit などを使用することを検討できます。