ロード テストとストレス テストは、Web アプリがパフォーマンスと拡張性を確保するために重要です。 ロード テストとストレス テストでは、同じようなテストを共有する場合でも、目標は異なります。
ロード テスト: 応答の目標を満たしながら、特定のシナリオで指定されたユーザーの負荷をアプリが処理できるかどうかをテストします。 アプリは通常の条件下で実行されます。
ストレス テスト: 極端な条件下で実行する場合のアプリの安定性をテストします。多くの場合、長時間にわたって実行されます。 テストでは、ユーザーの負荷が高くなるか、アプリの負荷が徐々に増加するか、アプリのコンピューティング リソースが制限されます。
ストレス テストでは、ストレスを受けているアプリが障害から回復し、期待される動作に正常に戻ることができるかどうかを判断します。 ストレスの下で、アプリは異常に高いストレスで実行されます。
Azure Load Testing は、高スケールの負荷を生成できるフル マネージドのロード テスト サービスです。 サービスは、ホストされている場所に関係なく、アプリのトラフィックをシミュレートします。 Azure Load Testing Preview を使用すると、既存の Apache JMeter スクリプトを使用して、高スケールの負荷を生成できます。
Visual Studio 2019 のロード テスト は非推奨になりました。 対応する Azure DevOps クラウドベースのロード テスト サービスが閉じられました。
サードパーティ製のツール
次の一覧には、さまざまな機能セットを含むサードパーティの Web パフォーマンス ツールが含まれています。
- Apache JMeter
- ApacheBench (ab)
- ガトリング
- jmeter-dotnet-dsl
- k6
- Locust
- West Wind WebSurge
- Netling
- Vegeta
- NBomber
リリース ビルドを使用したロード テストとストレス テスト
ロード テストとストレス テストは、デバッグ モードと開発モードではなく、リリース モードと 運用 モードで行う必要があります。 リリース構成 は、最小限のログ記録で完全に最適化されています。 デバッグ構成は最適化されていません。 開発 モードでは、パフォーマンスに影響を与える可能性のあるより多くの情報ログが有効になります。
ASP.NET Core