wcf サービスの負荷テストを行いたいと考えており、www.soapui.org の LOAD UI と Visual Studio 2010 Ultimate での負荷テストのサポートを検討しています。もしあなたの誰かが経験し、一方が他方よりも優れていると思うなら、私はあなたがそれらについてどう思うか知りたい.
2 に答える
私は2年間VisualStudio負荷テストを使用していますが、非常に強力で使いやすいと感じています。負荷テストはWCFに限定されません。統合テスト、Webサイト、データベースなど、実際にはすべてを負荷テストできます。これはMSアプリケーションであるため、すべてのMS製品と完全に互換性があります。他のテクノロジ(nettcpbindingのテスト方法)よりも単体テストからWCFサービスを呼び出す方が簡単です。Visual Studio Profilerを使用して、コードをインストルメント化することもできます(また、コードのどの行が高価であるか、またはADO.netの相互作用を確認できます)。また、多くの拡張ポイントによって負荷テストを簡単に拡張できます。
重要なことの1つは、VSロードテストが「侵入的」であるということです。応答時間、要求の長さなどを収集するだけでなく、すべてのパフォーマンスカウンター、データベースクエリなども記録されます。これらのメトリックはすべて、レポート用にSQLExpressなどの専用データベースに保存されます。Excel用のアドオンがあります。
重要な注意事項を1つだけ挙げてください(すべての負荷テストソリューションで利用可能です!):
開発者のマシンまたは単一の専用マシンから負荷テストを実行できますが、通常、アプリケーションがどのように応答するかを実際に確認するのに十分なトラフィックを生成できません(CPU /メモリ/ネットワークが限られているため、マシンは500人の同時ユーザーをシミュレートできます)。多くのユーザーをシミュレートするために、負荷テストリグと呼ばれるものを設定します。
テストリグは、図1に示すように、テストコントローラーマシンと1つ以上のテストエージェントマシンで構成されます。コントローラーはエージェントマシンを管理および調整し、エージェントはアプリケーションに対して負荷を生成します。テストコントローラーは、テスト対象のサーバーから、およびオプションでテストリグマシンからパフォーマンスモニターデータを収集する役割も果たします。
唯一の実際の要件は、Visual Studio Ultimate 2010または2012(変更なし)です。ただし、@ chrismeadが述べたように、Visual Studio 2010 Ultimateでは、250人の仮想ユーザーを使用してアプリケーションのストレステストを行うことができます。ただし、Visual Studio 2010負荷テスト機能パックを使用すると、MSDNサブスクライバーを備えたアクティブなVisual Studio Ultimateに、VisualStudio負荷テスト仮想ユーザーパック2010/2012を購入しなくても無制限の仮想ユーザーを生成するためのライセンスキーが提供されます。
個人的には、soapUIユーザーであってもloadUIを使用したことはありません。たぶん私にはニーズがないからです。
Visual Studio を使用していくつかのサンプル テストを作成することができます。過去に (Ultimate でも)、Test Pack などと呼ばれるものを購入しない限り、Microsoft はプロセッサを 1 つを除いてすべて無効にすることがわかりました。
私は個人的に LoadUI ではなく SoapUI 自体を負荷テストに使用しています。私は LoadUI に熱中し、試してみましたが、SoapUI プロジェクトで適切に動作させることができませんでした。LoadUI を試す場合は、SoapUi の負荷テスト機能と比較することもできます。私の意見では、LoadUI はまだ十分に成熟していないからです。