ASP.NET Core 負載/壓力測試
負載測試和壓力測試非常重要,可用來確保 Web 應用程式是否高效且是可調整的。 即使負載和壓力測試通常共用類似的測試,但目標仍有所不同。
負載測試:測試應用程式是否可以針對特定情節處理指定的使用者負載,同時仍滿足回應目標。 應用程式會在正常情況下執行。
壓力測試:在極端條件下 (通常是很長一段時間) 執行時測試應用程式穩定性。 測試會對應用程式帶來較高的使用者負載 (激增或逐漸增加負載),或者會限制應用程式的計算資源。
壓力測試會判斷高壓下的應用程式是否可以從失敗中復原,並從容地恢復預期的行為。 在高壓下,應用程式會以異常高的壓力執行。
Azure 負載測試是完全受控的負載測試服務,可讓您產生大規模的負載。 無論裝載位置為何,此服務都會模擬應用程式的流量。 Azure 負載測試預覽可讓您使用現有的 Apache JMeter 指令碼,來產生大規模的負載。
Visual Studio 2019 負載測試已遭取代。 對應的 Azure DevOps 雲端式負載測試服務已關閉。
協力廠商工具
下列清單包含具有各種功能組合的協力廠商 Web 效能工具:
- Apache JMeter
- ApacheBench (ab)
- Gatling
- jmeter-dotnet-dsl
- k6
- Locust
- West Wind WebSurge
- Netling
- Vegeta
- NBomber
含發行組建的負載和壓力測試
負載和壓力測試應在發行和生產模式中完成,而不是在偵錯和開發模式中完成。 發行設定經過全面的最佳化,並提供最基本的記錄功能。 偵錯設定未經過最佳化。 開發模式可啟用可能影響效能的詳細資訊記錄。