執行負載測試
當您建立、編輯和設定適合負載測試之測試需求的組態選項之後,Visual Studio Ultimate 就會提供許多用於執行負載測試的選項。
提示
執行負載測試之前,最好確定負載測試中包含的所有 Web 效能測試和單元測試在單獨執行時都會成功。您可以驗證測試藉由執行[Web 效能測試編輯器] 中的測試編輯器。若為含有資料繫結的 Web 效能測試,請逐一執行所有資料值。
執行負載測試的考量
在執行負載測試之前,您必須確認負載測試已適當設定,符合測試需求或目的。
選擇適當的負載模式。 |
為負載測試的每個情節選擇適合測試目標的負載模式:
|
選擇負載測試結果存放區的位置。 |
負載測試結果存放區考量 |
適當設定效能計數器取樣間隔。 |
效能計數器取樣間隔考量 |
考慮在收集百分位數資料時包含計時詳細資料。 |
在收集百分位數資料中包含計時詳細資料的考量 |
考慮啟用 SQL 追蹤。 |
考慮啟用 SQL 追蹤 |
判斷是否需要其他測試代理程式。 |
請勿多載測試代理程式 |
如需詳細資訊,請參閱Considerations for Load Tests。
圖形模式
執行負載測試時,[負載測試分析器] 預設會採用 [圖形] 檢視。 您可以用兩種不同模式的其中一種來顯示圖形:
摺疊模式:摺疊是 [負載測試分析器] 在執行負載測試期間採用的預設圖形模式。 摺疊圖形會用於執行中的負載測試,以便減少記憶體中必須維護的資料量,但仍會顯示效能計數器在完整回合進行期間的趨勢。
捲動模式:當您要檢視執行中負載測試的結果時,可以使用捲動圖形模式。 捲動圖形是顯示最近之資料點的選擇性檢視。 您可以使用捲動圖形來單獨檢視測試中的最近 100 個資料間隔。
注意事項 只有當您從資料庫檢視已完成的負載測試結果時,才能使用縮放圖形模式。
變更圖形模式
若要在執行負載測試時,於摺疊與捲動模式之間切換,請使用 [負載測試分析器] 工具列上的 [圖形選項] 下拉式清單。 如需摺疊模式,請選擇 [繪製整個執行專案的資料]。如需捲動模式,請選擇 [只繪製最近使用的資料]。
工作
工作 |
相關主題 |
---|---|
設定負載測試回合設定:回合設定是會影響負載測試執行方式的一組屬性, 這些設定會在 [屬性] 視窗中,依照分類進行組織。 |
|
執行負載測試:您可以使用不同的使用者介面選項來執行負載測試,也可以從命令列執行負載測試。 |
|
從遠端執行負載測試:您可以使用測試代理程式和測試控制器,在一個或多個遠端電腦上執行負載測試。 |
|
執行測試時以圖形方式檢視測試結果:在您執行測試期間以及完成測試時,會將負載測試的結果顯示為數個不同窗格中的資料。 |
|
將註解加入至執行中的負載測試:如果您要分析執行中或已完成的負載測試,可以加入含有描述的註解以及任意長度的分析註解,以便與負載測試結果一起永久儲存。 |
|
將負載和 Web 效能測試散發至多部電腦:您可以利用一組電腦產生模擬負載以便進行測試,並且在許多部電腦上同時執行遠端測試。 |
|
疑難排解負載測試中的網路模擬:您可以驗證負載測試中的網路模擬是否正確運作。 |
|
使用 Team Build 執行負載測試:您可以將負載測試加入至測試分類,並且將它設定為在組建完成之後執行。 |
負載模式考量
為負載測試的每個情節選擇適合測試目標的下列其中一個負載模式。
如需詳細資訊,請參閱編輯負載模式以模型化虛擬使用者活動。
使用常數負載模式
常數負載模式是用來在執行負載測試期間,執行相同的使用者負載。 使用具有高使用者計數的常數負載模式時,請特別注意。這樣做可能會在負載測試的開頭,對伺服器造成不合理且不實際的要求。 例如,如果您的負載測試包含開頭為首頁要求的 Web 測試,而且您使用 1,000 位使用者的常數負載來設定負載測試,該負載測試就會盡快地將前 1,000 個要求送出至首頁。 這樣可能無法真正模擬網站的實際存取狀況。 為了避免這種情形,請考慮使用逐漸增加至 1,000 位使用者的步驟負載模式,或在負載測試回合設定中指定熱身期間。 如果您指定了熱身期間,負載測試就會在熱身期間逐漸增加負載。 如需詳細資訊,請參閱設定情節開始延遲。
使用步驟負載模式
步驟負載模式可用來在負載測試執行時增加一部或多部伺服器的負載,讓您能夠查看效能在使用者負載增加時如何變化。 例如,若要在使用者負載增加至 2,000 位使用者時查看伺服器的效能,您可能會使用具有下列屬性的步驟負載模式來執行 10 小時的負載測試:
初始使用者計數:100
最大使用者計數:2000
逐步執行持續期間 (秒):1800
逐步遞增時間 (秒):20
逐步執行使用者計數:100
這些設定會讓負載測試以使用者負載 100、200、300 (最多到 2,000 位使用者) 執行 30 分鐘 (1800 秒)。 其中,[逐步遞增時間] 屬性特別值得一提,因為它是唯一無法在 [新增負載測試精靈] 中選取的屬性。 這個屬性允許步驟之間的增加作業 (例如,從 100 位增加至 200 位使用者) 逐漸進行,而非立即進行。 在此範例中,使用者負載會在 20 秒的期間內從 100 位增加至 200 位使用者,亦即每秒增加 5 位使用者。 如需詳細資訊,請參閱HOW TO:指定步驟負載模式的逐步遞增時間屬性。
使用以目標為依據負載模式
當您想要判斷系統在達到某個層級的資源使用率之前可支援的使用者數目時,以目標為依據負載模式就很有用。 當您已經識別出系統的限制資源 (亦即,瓶頸) 時,這個選項最有用。 例如,如果您知道系統的限制資源為資料庫伺服器的 CPU,而且您想要查看當資料庫伺服器的 CPU 使用率約 75% 時可支援的使用者數目,您可以使用以目標為依據負載模式,其目標是將效能計數器 "%Processor Time" 的值保持在 70% 和 80% 之間。
警告
如果有其他資源會限制系統的處理能力,以目標為依據負載模式所指定的目標可能永遠不會達到,而且使用者負載會持續增加,直到達到 [最大使用者計數] 的指定值為止。
這通常不是所需的負載。 因此請務必慎選以目標為依據負載模式中的效能計數器,另外對 [最大使用者計數] 值做出明智決策,以設定使用者負載上限。
負載測試結果存放區考量
當您安裝 Visual Studio Ultimate 時,負載測試結果存放區就會設定為使用電腦上所安裝的 SQL Express 執行個體。 SQL Express 最多只能使用 4GB 的磁碟空間。 如果您將要長時間執行許多負載測試,就應該考慮將負載測試結果存放區設定為使用完整 SQL Server 產品的執行個體 (如果有的話)。 如需詳細資訊,請參閱管理負載測試結果儲存機制中的負載測試結果。
效能計數器取樣間隔考量
請根據負載測試的長度,在負載測試回合設定中選擇 [取樣率] 屬性的值。 較小的取樣率 (例如五秒的預設值) 會在負載測試結果資料庫中佔用較多空間。 若為較長的負載測試,增加取樣率會降低您所收集的資料量。 如需詳細資訊,請參閱HOW TO:指定負載測試回合設定的取樣率。
下面是一些取樣率的方針:
負載測試持續期間 |
建議取樣率 |
---|---|
< 1 小時 |
5 秒 |
1 - 8 小時 |
15 秒 |
8 - 24 小時 |
30 秒 |
> 24 小時 |
60 秒 |
在收集百分位數資料中包含計時詳細資料的考量
在 [負載測試編輯器] 的回合設定中,有一個名為 [計時詳細資料儲存區] 的屬性。 如果啟用 [計時詳細資料儲存區] 屬性,則在負載測試期間執行每個個別測試、異動和頁面所需的時間會儲存在負載測試結果儲存機制中。 這可以在 [負載測試分析器] 的 [測試]、[異動] 和 [頁面] 資料表中顯示第 90 個和第 95 個百分位數資料。
在回合設定屬性中,有兩個用於啟用 [計時詳細資料儲存區] 屬性的選項,名為 [僅限統計資料] 和 [所有個別細節]。 不論選擇哪一種,所有的個別測試、頁面和異動都會計時,而且百分位數資料是從個別的計時資料計算出來的。 其差異在於,使用 [僅限統計資料] 選項時,一旦計算出百分位數資料之後,系統就會從儲存機制中刪除個別的計時資料。 這樣做可減少使用計時詳細資料時儲存機制所需的空間量。 不過,進階使用者可能會想要使用 SQL 工具,以其他方式處理計時詳細資料。 如果是這種情況,您就應該使用 [所有個別細節] 選項,讓計時詳細資料可用於該項處理。 此外,如果您將此屬性設定為 [所有個別細節],當負載測試執行完成之後,您就可以在負載測試分析器中使用虛擬使用者活動圖來分析虛擬使用者活動。 如需詳細資訊,請參閱在負載測試分析器的詳細資料檢視中分析負載測試虛擬使用者活動。
注意事項 |
---|
在舊版 Visual Studio (包括 Microsoft Visual Studio 2005 和 Visual Studio 2008) 中,原本就可以使用 [計時詳細資料儲存區] 屬性的 [所有個別細節] 設定。Visual Studio 2010, 和 Visual Studio 2012有兩個重要的差異:首先,[所有個別細節] 設定在當時並不是預設設定。其次,[所有個別細節] 設定在當時是在收集資料之後才設定,而存取此資訊的唯一方式是使用 SQL 查詢。 |
負載測試結果儲存機制用來儲存計時詳細資料所需的空間可能相當大,尤其是長時間執行的負載測試。 其次,在負載測試結束時,用來將這項資料儲存至負載測試結果儲存機制的時間會比較長,因為在負載測試執行完成之後,這項資料會儲存在負載測試代理程式上。 當負載測試完成時,資料就會儲存至儲存機制中。 [計時詳細資料儲存區] 屬性預設處於啟用狀態。 如果您的測試環境發生這種問題,您可能會想要將 [計時詳細資料儲存區] 設定為 [無]。
如需詳細資訊,請參閱HOW TO:指定負載測試回合設定的計時詳細資料儲存區屬性。
考慮啟用 SQL 追蹤。
若要診斷 SQL 效能問題,[負載測試編輯器] 中有一組回合設定的屬性,可允許在負載測試期間啟用 Microsoft SQL Server 的 SQL 追蹤功能。 如果啟用 SQL 追蹤功能,SQL 追蹤資料就可以顯示在 [負載測試分析器] 的 SQL 追蹤資料表上,您可在 [資料表] 檢視中使用此資料表。
若要在負載測試執行時啟動個別 SQL 分析工具工作階段,SQL 追蹤會是另一種選擇,此功能相當容易使用。 若要啟用此功能,執行負載測試的使用者必須具備執行 SQL 追蹤所需的 SQL 權限,而且必須指定要在其中寫入追蹤檔的目錄。 此目錄通常是共用。 負載測試完成時,追蹤檔的資料會匯入至負載測試儲存機制中,並且與執行的負載測試產生關聯,以便之後可隨時使用 [負載測試分析器] 進行檢視。
如需詳細資訊,請參閱在負載測試中收集 SQL 追蹤資料以監視並改善效能。
請勿多載測試代理程式
如果測試代理程式電腦的 CPU 使用率超過 75% 或可用的實體記憶體低於 10%,請將更多代理程式加入至您的負載測試,確保代理程式電腦不會成為負載測試的瓶頸。
如需詳細資訊,請參閱HOW TO:指定要用於負載測試情節的測試代理程式與使用 Test Controller 和 Test Agent,將負載測試回合分配給多部測試電腦。
相關工作
提供建立及編輯負載和 Web 效能測試的說明。
提供如何在負載測試中執行 Web 效能測試的詳細資訊。
外部資源
指引
Visual Studio 2012 連續傳遞測試– 第 6 章:測試工具箱