共用方式為


搭配測試控制器和測試代理程式使用負載測試

這個主題適用於:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Topic applies Topic does not apply Topic does not apply Topic does not apply

您可以使用測試控制器和測試代理程式,在將負載分散到多部電腦以及模擬多位虛擬使用者,藉此執行負載測試。

需要設定機器以產生負載,但不想用到自己的資源嗎? 您可以使用雲端負載測試在雲端中提供虛擬機器,產生多位使用者同時存取網站之負載。 您只需要有 Visual Studio Online 帳戶即可。 深入了解每月免費提供 15,000 個虛擬使用者分鐘數的雲端負載測試服務

若要了解使用內部部署的資源測試應用程式負載時所需的組態,請依照本主題後續內容的資訊進行。

一般遠端組態:

  • 電腦 1 和電腦 2:Visual Studio (多位測試人員可以使用相同的控制器)。

  • 電腦 3:控制器 (也可以安裝代理程式)。

  • 電腦 4-n:所有與電腦 3 的控制器相關聯的代理程式。

Remote machines using controller and agents

執行負載測試時,通常電腦的記憶體和處理能力可控制能為測試產生多少負載。 測試控制器不會產生負載,但會收集測試代理程式的負載測試統計資料,以及測試代理程式和受測試系統的效能計數器資料。 因此,測試控制器所用的資料庫,同時針對儲存的資料量和執行測試時牽涉的測試代理程式數量,都需要用到資源。 請使用下表做為指南,判斷測試控制器和測試代理程式的硬體需求。

元件

測試控制器應用程式層

測試控制器資料層

測試控制器應用程式/資料層

CPU

最低:1 GHz

建議:2 GHz

最低:1 GHz

建議:2 GHz

最低:1 GHz

建議:2 GHz

磁碟 - 系統

最低:1 GB

建議:1 GB

最低:1 GB

建議:1 GB

最低:1 GB

建議:1 GB

磁碟 - 安裝

最低:1 GB

建議:48 GB

最低:8 GB

建議:48 GB

最低:8 GB

建議:48 GB

記憶體

最低:1 GB

建議:1 GB

最低:1 GB

建議:1 GB

最低:1 GB

建議:1 GB

若要使用測試控制器執行負載測試,您必須在測試控制器上將負載測試資料庫設定為使用執行負載測試時要使用的 SQL Server 執行個體。 如果您沒有 SQL Server,可以使用 Visual Studio Premium 隨附的 SQL Express 做為負載測試存放區。 如需如何設定測試控制器的詳細資訊,請參閱安裝並設定 Test Agent 和 Test Controller

訂定硬體大小時請考慮下列額外因素。

元件

測試代理程式

測試控制器應用程式層

測試控制器資料層

測試控制器 AT/DT

CPU

依測試而定,CPU 經常都是限制因素。

未大量使用。

未大量使用。

未大量使用。

磁碟

在負載測試中啟用詳細記錄時,則會大量使用。

未大量使用。

24 小時測試資料需要 10 GB 空間。

24 小時測試資料需要 10 GB 空間。

記憶體

依測試而定,記憶體有可能是限制因素。

未大量使用。

SQL 會大量使用。

SQL 會大量使用。

測試代理程式會產生多少負載量並不一定,依測試而異。 大部分測試都受限於 CPU, CPU 使用量與每秒要求數 (RPS) 直接成正比。 但對某些負載測試而言,記憶體也有可能是限制因素。 負載代理程式會產生多少 RPS,與許多因素有關。 這些需求包括下列各項:

  • 使用者負載

  • 考慮時間

  • 驗證配置

  • 要求和回應的數目

  • 回應時間

  • 回應驗證層級

  • 承受負載的測試類型 (Web 測試或單元測試)

考慮時間是決定受限於 CPU 的測試之使用者人數的主要因素。 將考慮時間由 2 秒變更為 10 秒,通常可讓您模擬 5 倍數量的使用者,但產生的 RPS 不變。 如果您的目標是要模擬真實的使用者,請將考慮時間的值設為可以反映您所設想之網站使用者的行為模式。 增加考慮時間和使用者人數不一定會增加 Web 應用程式的額外負荷。

對於使用 [每使用者連接] 連接模式的測試而言,測試代理程式可能受限於記憶體。 您可以在負載測試回合設定中設定兩個連接模式。 在 [連接集區] 模式中 (預設值),會將連接集中在一起,但每個使用者在處於現用時仍然使用兩個連接。 在這個模式中,所有虛擬使用者在連接集區中都是多工進行。 這樣可讓您擁有 1000 個現用虛擬使用者共用 100 個連接。 至於 [每使用者連接] 模式中,每個使用者各有一個連接,由實際兩個通往伺服器的連接所組成。

如果負載測試是針對具有 3 至 5 秒考慮時間的典型 ASP.NET 應用程式執行,並使用 Web 測試,則您可以模擬來自單一處理器測試代理程式 (配備 2 GHz CPU 和 1 GB RAM,此為建議組態) 的大約 1000 個使用者。 所支援的使用者人數是考慮時間的函式。 考慮時間越長,可支援的使用者越多。

執行 Visual Studio Premium 的伺服器應該要有可靠的網路連線 (最小頻寬為 1 Mbps 而最大延遲時間為 350 毫秒), 而且在測試代理程式和測試控制器之間不能有防火牆。 如果測試效能不符合您的期望,請考慮升級硬體組態。

SQL 大小考量

根據預設,SQL Express 安裝在控制器上,而且控制器會將其當做負載測試結果的預設 SQL 存放區。 SQL Express 資料庫有授權限制,只能存放 10 GB 的資料。 這是典型負載測試大約 24 小時的負載測試資料量。 負載測試資料所需的空間差異極大,依測試而定。

負載測試期間會收集每部電腦上每個計數器執行個體的樣本。 因此,需要的資料庫空間視以下因素而定:所收集計數器的數目、測試使用到的電腦數目,以及採取樣本的數目 (由取樣率控制)。

您可以在負載測試的回合設定中收集計時詳細資料。 此功能會啟用「虛擬使用者活動圖」。 您也可以收集詳細的虛擬使用者記錄。

負載測試回合可以使用一個或多個診斷資料配接器來收集資訊或是影響測試電腦。 這些項目是在回合的測試設定中進行設定。 來自這些配接器的資料也會儲存在 SQL Express 中,因此視診斷資料配接器而定,可能需要大量空間。

如果可行,請考慮使用單獨的資料庫來存放負載測試資料。 資料庫可以存放在測試控制器電腦或另一部電腦上。 若要變更資料存放區,請將包含在 .sql 檔案中的 SQL 命令送出至要用於存放負載測試結果的 SQL Server 執行個體。 執行這項作業的方法有兩種。 一個方法是從命令提示字元使用 sqlcmd 命令,並指定連接至所需資料庫的必要選項。 使用 –i 選項可指定 loadtestresultsrepository.sql 的路徑。 另一個方法是使用 SQL 的其中一個 GUI 介面 (例如 Query Analyzer),然後開啟 .sql 檔案並送出連接。

請參閱

工作

[已停用] 如何:使用測試設定中指定的測試控制器和測試代理程式執行負載測試

逐步解說:在負載測試中使用測試控制器和測試代理程式

概念

設定測試控制器和測試代理程式以進行負載測試

安裝並設定 Test Agent 和 Test Controller

設定測試電腦以便執行測試或收集資料

使用測試設定安裝電腦和收集診斷資訊

設定測試控制器和測試代理程式以進行負載測試

其他資源

使用 Test Controller 和 Test Agent,將負載測試回合分配給多部測試電腦

指定 Visual Studio 測試的測試設定