測試應用程式效能和壓力
這個主題適用於:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
若要判斷軟體回應不同層級使用的情況,您可執行「負載測試」(Load Test)。 負載測試會建立軟體程式的預期使用模型,方法是模擬多位使用者同時存取程式。
Visual Studio Ultimate 最多可讓您在本機負載測試回合上使用 250 位虛擬使用者。 如果您的負載測試需要更多虛擬使用者,或者您想要使用遠端電腦,就必須購買 Visual Studio Load Test Virtual User Pack 2010。 您可以在購買 Visual Studio Ultimate 的地點購買 Visual Studio Load Test Virtual User Pack 2010。 如需詳細資訊,請參閱利用測試控制器管理您的虛擬使用者授權以進行負載測試和設定測試控制器和測試代理程式以進行負載測試。
如果您具有用量高的模型,例如數千位使用者同時造訪網站,則需要多台電腦產生足夠的負載。 若要達成這個目的,您可以設定電腦群組以產生大量模擬的測試負載。 這組電腦含有一個或多個「測試控制器」(Test Controller) 和一個或多個「測試代理程式」(Test Agent)。 測試代理程式會執行測試,並且可以產生模擬負載。 測試控制器會協調測試代理程式,並收集測試結果,因此您必須使用一個或多個 Visual Studio Load Test Virtual User Pack 2010 來加以設定。 如需如何設定測試控制器和測試代理程式的詳細資訊,請參閱使用測試控制器和測試代理程式將負載測試分配給多部測試電腦、設定測試電腦以便執行測試或收集資料和安裝和設定 Visual Studio Agents、測試和組建控制器。
注意事項 |
---|
您也針對每個測試控制器需要的虛擬使用者數目,購買 Visual Studio Load Test Virtual User Pack 2010 授權。 |
負載測試由一系列的 Web 效能測試或單元測試所組成,這些測試會在一個週期內,模擬多位使用者進行運作。 負載測試是以 [新增負載測試精靈] 所建立。
注意事項 |
---|
負載測試也可包含自動程式碼 UI 測試。 只有在特殊的情況下才應該包含自動程式碼 UI 測試。 如需詳細資訊,請參閱在負載測試中使用自動程式碼 UI 測試。 |
在將 Web 效能測試加入至負載測試時,便會模擬多個使用者同時對伺服器開啟連接,並產生多個 HTTP 要求。 您可以在廣泛套用至個別 Web 效能測試的負載測試上設定屬性。
在負載測試中使用單元測試,可以透過 API 執行伺服器。 一般來說,這適用於透過豐富型用戶端或其他伺服器服務 (而非瀏覽器) 存取的伺服器。 其中一個例子是有 Winforms 或 WPF 前端的應用程式,使用 WCF 與伺服器通訊。 在此情況下,您可以開發呼叫 WCF 的單元測試。 另外一個例子是不同的伺服器,它會透過 Web 服務呼叫伺服器。 此外,二層式用戶端可能會直接呼叫 SQL。 在此情況下,您可以開發直接呼叫 SQL 的單元測試。 如需單元測試的詳細資訊,請參閱使用單元測試驗證程式碼。
負載測試可以在許多不同類型的測試中使用:
測試類型 |
描述 |
---|---|
煙霧 |
測試應用程式在短期之輕量負載下執行的效能。 |
壓力 |
判斷應用程式是否能在長時間的重度負載下成功執行。 |
效能 |
判斷應用程式的回應狀況。 |
容量規劃 |
應用程式如何在各種容量下執行。 |
若要變更負載測試屬性,請使用 [負載測試編輯器]。 這些屬性讓您能以不同的使用者設定檔、瀏覽器目標及負載模式執行 Web 效能測試。 測試結果都會儲存在 SQL 架構的負載測試結果儲存機制中。 如需詳細資訊,請參閱管理負載測試結果儲存機制中的負載測試結果。
您可以在 [負載測試分析器] 中同時檢視執行中的負載測試和已完成的負載測試。 如需詳細資訊,請參閱分析負載測試回合。
在負載測試分析器中檢視執行中的測試
工作
使用下列主題了解如何設定和使用測試控制器和測試代理程式:
主要工作 |
相關主題 |
---|---|
開始使用負載和 Web 效能測試:您可以執行 Web 和負載測試逐步解說中的動作,以便了解如何建立、編輯、執行及檢視負載和 Web 效能測試的結果。 |
|
建立效能和壓力測試:您可以建立負載測試來使用 Microsoft Visual Studio Ultimate 測量效能和壓力。 |
|
設定如何執行負載測試:您可以設定負載測試的執行方式,來檢查它們是否正常運作。 您可以利用一組電腦產生模擬負載以便進行測試,並且能從遠端同時在數部電腦上執行測試。 您也可以在負載測試上設定回合設定。 回合設定是指會影響負載測試執行方式的一組屬性, 這些設定會在 [屬性] 視窗中,依照分類進行組織。 |
|
執行負載測試:您可以執行負載測試並在測試執行時檢視結果。 |
|
分析負載測試回合:您可以分析負載測試的結果,並且找出瓶頸、辨識錯誤,以及測量您應用程式的改進程度。 |
|
檢視 Web 效能測試結果:您可以使用 [Web 效能測試結果檢視器] 檢視 Web 效能測試的結果。 |
|
管理負載測試結果:您可以使用 [開啟和管理負載測試結果] 對話方塊,從 [負載測試編輯器] 管理負載測試結果。 您可以開啟、匯入、匯出及移除負載測試結果。 執行負載測試期間所收集到的任何資訊,都可以儲存在稱為 [負載測試結果儲存機制] 的 SQL 資料庫中。 [負載測試結果儲存機制] 含有效能計數器資料,以及已記錄之錯誤的相關資訊。 |
|
報告負載測試分析趨勢:您可以使用負載測試結果建立 Microsoft Excel 報表,協助判斷趨勢和效能層級。 |
|
開發自訂負載和 Web 效能外掛程式:您可以使用負載測試 API 和 Web 效能測試 API,寫入自訂負載和 Web 效能外掛程式。 |
|
疑難排解負載測試問題:如果負載測試有問題,則可能必須疑難排解該問題。 |
安全性
負載測試檔案和負載測試結果都含有潛在的敏感性資訊,可能會被用來建置 (Build) 針對您電腦或網路的攻擊。 負載測試和負載測試結果都含有電腦名稱和連接字串 (Connection String), 當您與其他使用者分享測試或測試結果時,請務必了解這點。
外部資源
視訊
論壇
Visual Studio Web 效能和負載測試 (英文)
網誌
Ed Glas 的部落格 (英文)
Sean Lumley 的部落格 (英文)
Bill Barnett 的部落格 (英文)
Howie Hilliker 的部落格 (英文)