Share via


大型負載測試的考量

更新:2007 年 11 月

本主題提供在 Visual Studio Team System Test 版中執行大型負載測試的秘訣。將會討論下列主題:

選擇適當的負載模式

選擇適當的連接模型

取樣率和資料收集

考慮時間

設定 Web 測試要求的回應時間目標

在收集百分位數資料中包含計時詳細資料

設定新使用者的百分比屬性

啟用 SQL 追蹤

維持適當數目的代理程式電腦

選擇適當的負載模式

負載模式有三種類型:常數、逐步執行和以目標為依據。若要選擇適合您的負載測試之負載模式,必須了解每一種類型的優點。如需詳細資訊,請參閱關於負載模式

常數

當您想要在一段很長時間,以相同的使用者負載執行您的負載測試時,常數負載模式會很有用。如果您以常數負載模式指定高使用者負載,建議同時指定負載測試的準備時間。當您指定了準備時間,可以避免數百名新使用者工作階段同時點擊而使網站超過負荷。

逐步執行

逐步執行負載模式是最常用也最有用的負載模式之一,因為它可讓您監視使用者負載增加時的系統效能。在使用者負載增加時監視系統,可讓您判斷可接受之回應時間所能支援的使用者數目,或相反地,判斷效能開始變得無法接受時的使用者數目。

以目標為依據

以目標為依據負載模式與逐步執行負載模式類似,因為使用者負載通常都隨著時間而增加。但是以目標為依據負載模式可讓您指定當部分效能計數器達到某特定等級時,負載便應停止增加。例如,您可以使用以目標為依據負載模式持續增加負載,直到其中一台目標伺服器變成 75% 忙碌的狀態時,接著便將負載維持固定。

如果預先定義的負載模式都不符合您的需求,也可以實作控制使用者負載 (與負載測試回合一樣) 的自訂負載測試外掛程式。如需詳細資訊,請參閱進階負載測試工作

選擇適當的連接模型

連接模型有兩種類型:個別使用者連接與連接集區。若要選擇適合您的負載測試之連接模型,必須了解每一種類型的優點。

個別使用者連接

個別使用者連接模型可以模擬非常真實的瀏覽器行為。每個執行 Web 測試的虛擬使用者,都會使用針對專屬於該虛擬使用者之一或兩個 Web 伺服器連接。在 Web 測試發出第一個要求時,便會建立第一個連接。當一個頁面包含一個以上的相依要求時,就會使用第二個連接;這些要求會使用兩個連接平行發出。這些相同的連接會在 Web 測試中的後續要求中重複使用,並在 Web 測試執行完成後關閉。

個別使用者連接模型的缺點在於,代理程式電腦上維持開啟的連接數目可能高達使用者負載的兩倍,而且支援這種高連接計數的資源,可能會限制可從單一負載測試代理程式驅動的使用者負載。

連接集區

連接集區模型會讓虛擬 Web 測試使用者共用與 Web 伺服器的連接,節省負載測試代理程式上的資源。在連接集區模型中,連接集區大小會指定負載測試代理程式與 Web 伺服器之間的最大連接數。如果使用者負載大於連接集區大小,由不同虛擬使用者所執行的 Web 測試就會共用一個連接。

共用連接表示一個 Web 測試在發出要求之前,可能必須等待正在使用這個連接的另一個 Web 測試。Web 測試在提交要求之前所等待的平均時間,都會由負載測試效能計數器 [平均連接等候時間] 追蹤。這個時間應該要小於頁面的平均回應時間,否則,連接集區大小就有可能不足。

取樣率和資料收集

請依照負載測試的時間長度選擇適當的取樣率。對於每一個效能計數器,小的取樣率 (例如五秒) 比大的取樣率能收集更多資料。以一段長的時間收集大量資料,可能導致磁碟空間錯誤的問題。對於長時間的負載測試,您可以增加取樣率,以降低所收集的資料量。效能計數器的數量也會影響收集的資料量。對於測試中的電腦而言,降低計數器數量將會減少所收集的資料量。

您必須以實驗決定,對您的特定負載測試而言,什麼取樣率會運作得最好。不過,下列表格提供建議的取樣率,供您開始使用。

負載測試持續期間

建議取樣率

< 1 小時

5 秒鐘

1 - 8 小時

15 秒鐘

8 - 24 小時

30 秒鐘

> 24 小時

60 秒鐘

考慮時間

Web 測試要求的考慮時間,對於合理回應時間可支援的使用者人數有很重大的影響。將考慮時間由 2 秒變更為 10 秒,通常可讓您模擬 5 倍數量的使用者。不過,如果您的目標是要模擬真實的使用者,應該根據您所設想的網站使用者行為方式來設定考慮時間。增加考慮時間和使用者人數不必然會增加 Web 伺服器的額外負荷。如果網站已經驗證過,所使用的配置類型將會影響效能。

如果您停用 Web 測試的考慮時間,可能會產生根據每秒要求之較高處理量的負載測試。如果您停用考慮時間,也應該將使用者人數降到比啟用考慮時間時更少的數目。例如,如果您停用考慮時間並嘗試執行 1000 個使用者,可能會使目標伺服器或負載測試代理程式不勝負荷。

如需詳細資訊,請參閱關於考慮時間

設定 Web 測試要求的回應時間目標

Web 測試要求的屬性之一為回應時間目標。如果您定義了 Web 測試要求的回應時間目標,當 Web 測試在負載測試中執行時,負載測試分析器就會報告回應時間未達目標的 Web 測試百分比。根據預設,Web 要求並未定義回應時間目標。

如需詳細資訊,請參閱 HOW TO:在 Web 測試中設定頁面回應時間目標

在收集百分位數資料中包含計時詳細資料

回合設定包含了一個名為 [計時詳細資料儲存區] 的屬性。如果啟用這個屬性,在負載測試期間執行每個個別測試、異動和頁面所需的時間會儲存在負載測試結果儲存機制中。這可以在負載測試分析器的 [測試]、[異動] 和 [頁面] 索引標籤中顯示第 90 和第 95 個百分位數資料。

根據預設,[計時詳細資料儲存區] 是停用的。這樣做有兩個重要原因。首先,負載測試結果儲存機制用來儲存計時詳細資料所需的空間可能相當大,尤其是長時間的負載測試。其次,在負載測試結束時,用來將此資料儲存至負載測試結果儲存機制的時間會很長,因為此資料在負載測試執行完成後是儲存在負載測試代理程式上的。

如果負載測試結果儲存機制的磁碟空間足夠,您就可以啟用 [計時詳細資料儲存區] 以取得百分位數資料。啟用 [計時詳細資料儲存區] 有兩種選擇:[僅限統計資料] 和 [所有個別細節]。不論選擇哪一種,所有的個別測試、頁面和異動都會計時,而且百分位數資料是從個別的計時資料計算出來的。如果您選擇 [僅限統計資料],在百分位數資料計算出來之後,個別的計時資料會從儲存機制中刪除。刪除該資料可以減少儲存機制所需的空間。不過,如果您使用 SQL 工具直接處理計時詳細資料,請選擇 [所有個別細節],以便將計時詳細資料儲存在儲存機制中。

設定新使用者的百分比屬性

負載測試中的每個情節都有個名為 [新使用者的百分比] 的屬性。這個屬性會影響負載測試執行階段引擎模擬 Web 瀏覽器執行快取的方式。[新使用者的百分比] 的預設值為 100。這表示負載測試中所執行的每個 Web 測試反覆項目,都會視為第一次造訪網站的使用者,其瀏覽器快取中完全沒有之前造訪所留下的網站內容。因此 Web 測試中的所有要求 (包括如影像之類的所有相依要求) 都會予以下載。

注意事項:

有一個例外狀況是,Web 測試中同樣的可快取資源被要求一次以上。

如果進行負載測試的網站有大量的回籠使用者,他們的本機快取可能已經有影像和其他可快取的內容,那麼使用 [新使用者的百分比] 的預設值 100,將會比真實使用狀況產生更多的下載要求。如果進行負載測試的網站有大量的回籠使用者,您應該估計第一次使用者造訪網站的百分比,然後據以設定新使用者的百分比。

啟用 SQL 追蹤

回合設定包含了一個名為 [SQL 追蹤已啟用] 的屬性。這個屬性可讓您在負載測試期間啟用 Microsoft SQL Server 的追蹤功能。如果執行負載測試是為了診斷 SQL 效能問題,這是啟動個別 SQL Profiler 工作階段的另一種選擇。如果啟用該屬性,SQL 追蹤資料會顯示在負載測試分析器中。您可以在 [SQL 追蹤] 資料表的 [資料表] 頁面中檢視。

若要啟用這個功能,執行負載測試的使用者必須要有執行 SQL 追蹤所需的 SQL 權限。如果是在 Rig 上執行負載測試,控制器使用者必須要有 SQL 權限。而且您還必須指定要寫入追蹤資料檔的目錄 (通常是網路共用)。在負載測試完成時,追蹤資料檔會匯入至負載測試儲存機制中,並與負載測試產生關聯,以便稍後使用負載測試分析器進行檢視。

如需詳細資訊,請參閱關於回合設定HOW TO:整合 SQL 追蹤資料

維持適當數目的代理程式電腦

如果代理程式電腦的 CPU 使用率超過 75%,或只剩 10% 實體記憶體可用,就表示超載了。請將更多代理程式加入至您的 Rig,確保代理程式電腦不會成為負載測試的瓶頸。

如需詳細資訊,請參閱控制器、代理程式和 Rig

請參閱

工作

負載測試疑難排解

概念

分析負載測試錯誤

分析臨界值規則違規

其他資源

使用負載測試