編輯負載模式以模型化虛擬使用者活動
負載模式屬性會指定在負載測試期間,如何調整模擬的使用者負載。 Visual Studio Ultimate 提供三種內建的負載模式:常數、逐步執行和以目標為依據。 請根據您的負載測試目標,選擇負載模式並將屬性調整為適當的層級。
負載模式為情節的元件。 負載測試是由情節以及具有它定義的負載模式所組成。
注意事項 |
---|
在所有負載模式中,Team 測試產生的負載即為虛擬使用者所產生的模擬負載。 |
需求
- Visual Studio Ultimate
負載模式
常數
常數負載模式是用來指定在執行負載測試期間,不會變更的使用者負載。 例如,當您在 Web 應用程式上執行煙霧測試 (Smoke Test) 時,可能想要設定 10 位具有少量、常數負載的使用者。
常數負載模式考量
常數負載模式是用來在執行負載測試期間,執行相同的使用者負載。 使用具有高使用者計數的常數負載模式時,請特別注意。這樣做可能會在負載測試的開頭,對伺服器造成不合理且不實際的要求。 例如,如果您的負載測試包含開頭為首頁要求的 Web 測試,而且您使用 1,000 位使用者的常數負載來設定負載測試,該負載測試就會盡快地將前 1,000 個要求送出至首頁。 這樣可能無法真正模擬網站的實際存取方式。 為了緩和這種情形,請考慮使用逐漸增加至 1,000 位使用者的步驟負載模式,或在負載測試回合設定中指定熱身期間。 如果您指定了熱身期間,負載測試就會自動在熱身期間逐漸增加負載。 如需詳細資訊,請參閱設定情節開始延遲。
步驟
步驟負載模式是用來指定會隨著時間增加至所定義之最大使用者負載的使用者負載。 您可以針對逐步執行負載,指定 [初始使用者計數]、[最大使用者計數]、[逐步執行持續期間 (秒)] 和 [逐步執行使用者計數]。
例如,具有 [初始使用者計數] 計數為 1、[最大使用者計數] 為 100、[逐步執行持續期間 (秒)] 為 10 以及 [逐步執行使用者計數] 為 1 的逐步執行負載,會建立從 1 開始,且每隔 10 秒加 1 直到達到 100 使用者的使用者負載模式。
注意事項 |
---|
如果總測試持續期間小於逐漸增加至最大使用者負載所需的時間,在經過持續期間之後,測試就會停止,並且不會到達最大使用者計數目標。 |
您可以使用逐步執行的目標增加負載,直到伺服器到達效能明顯低落的點。 隨著負載增加,伺服器最終會耗盡資源。 逐步執行負載是用來判斷何時使用者數目會到達上限的好方法。 有了逐步執行負載,您還必須緊密地監視代理程式資源,以確保代理程式能夠產生想要的負載。
一般來說,您應該會執行許多個具有不同逐步執行持續期間和逐步執行使用者計數的回合,以便完善測量指定的負載。 負載經常會隨著每個逐步執行而造成的使用者加入,出現初始增量。 保留這個負載的速率可讓您在系統從初始增量復原之後,測量系統效能。
步驟負載模式考量
步驟負載模式可用來在負載測試執行時增加一部或多部伺服器的負載,讓您能夠查看效能在使用者負載增加時如何變化。 例如,若要在使用者負載增加至 2,000 位使用者時查看伺服器的效能,您可能會使用具有下列屬性的步驟負載模式來執行 10 小時的負載測試:
初始使用者計數:100
最大使用者計數:2000
逐步執行持續期間 (秒):1800
逐步遞增時間 (秒):20
逐步執行使用者計數:100
這些設定會以使用者負載為 100、200、300 位 (最多到 2,000 位使用者) 的情況下,執行負載測試 30 分鐘 (1,800 秒)。 其中,[逐步遞增時間] 屬性特別值得一提,因為它是唯一無法在 [新增負載測試精靈] 中選取的屬性。 這個屬性允許步驟之間的增加作業 (例如,從 100 位增加至 200 位使用者) 逐漸進行,而非立即進行。 在此範例中,使用者負載會在 20 秒的期間內從 100 位增加至 200 位使用者 (每秒增加五位使用者)。 如需詳細資訊,請參閱 如何:指定步驟負載模式的逐步遞增時間屬性。
以目標為依據
以目標為依據負載模式類似於逐步執行模式,但會根據效能計數器臨界值 (而不是定期),調整使用者負載。 以目標為依據負載可以用於不同的用途:
最大化代理程式的輸出:測量代理程式上的關鍵限制度量資訊 (Metric),以便最大化代理程式的輸出。 一般而言,它是 CPU,但也可能是記憶體。
到達目標伺服器上的某些目標資源層級 (通常是 CPU),然後根據該層級進行全面性測量。 這讓您可以根據伺服器上資料使用情況的一致性層級,進行處理量的 Run-To-Run 比較。
到達伺服器上目標處理量層級。
在下列表格中,有個範例會說明具有下列屬性設定的以目標為依據模式:
屬性群組 |
屬性 |
值 |
---|---|---|
效能計數器 |
分類 |
處理器 |
效能計數器 |
電腦 |
ContosoServer1 |
效能計數器 |
計數器 |
% Processor Time |
效能計數器 |
執行個體 |
_Total |
效能計數器的目標範圍 |
高端 |
90 |
效能計數器的目標範圍 |
低端 |
70 |
使用者計數限制 |
初始使用者計數 |
1 |
使用者計數限制 |
最大使用者計數 |
100 |
使用者計數限制 |
最大使用者計數遞減 |
5 |
使用者計數限制 |
最大使用者計數遞增 |
5 |
使用者計數限制 |
最小使用者計數 |
1 |
這些設定會使 [負載測試分析器] 在測試回合期間,將使用者負載調整為 1 到 100 之間,使得 WebServer01 的 % Processor Time [計數器] 保持在 70% 和 90% 之間。
每個使用者負載調整的大小是依 [最大使用者計數遞增值] 和 [最大使用者計數遞減值] 設定而定, 而使用者計數限制是根據 [最大使用者計數] 和 [最小使用者計數] 屬性設定。
以目標為依據負載模式考量
當您想要判斷系統在達到某個層級的資源使用情況之前可支援的使用者數目時,以目標為依據負載模式就很有用。 當您已經識別出系統的限制資源 (亦即,瓶頸) 時,這個選項最有用。
例如,假設您知道系統的限制資源為資料庫伺服器的 CPU,而且您想要查看當資料庫伺服器的 CPU 大約處於 75% 忙碌狀態時可支援的使用者數目。 您可以使用以目標為依據負載模式,其目標是將效能計數器 "%Processor Time" 的值保持在 70% 和 80% 之間。
請注意是否有其他某項資源限制系統的處理能力。 這類資源可能會導致您永遠無法達到以目標為依據負載模式所指定的目標。 此外,使用者負載將繼續提高,直到達到針對 [最大使用者計數] 所指定的值為止。 這通常不是所需的負載,因此請務必慎選以目標為依據負載模式中的效能計數器。
工作
工作 |
相關主題 |
---|---|
指定負載測試的初始負載模式:當您使用 [新增負載測試精靈] 來建立負載測試時,就會選取負載模式。 |
|
編輯負載測試的負載模式:建立負載測試之後,您就可以在 [負載測試編輯器] 中編輯負載模式。 |
|
指定負載測試情節中的虛擬使用者是否應該包含 Web 快取資料:您可以變更 [新使用者的百分比] 屬性,以便影響負載測試模擬虛擬使用者 Web 瀏覽器所執行之 Web 快取的方式。 |
|
指定步驟負載模式的逐步遞增時間:[逐步遞增時間] 屬性允許步驟之間的增加作業 (例如,從 100 位增加至 200 位使用者) 逐漸進行,而非立即進行。 |
變更負載模式
在您使用 [新增負載測試精靈] 建立負載測試之後,就可以使用 [負載測試編輯器],將與情節相關聯的負載模式屬性變更為符合您測試目標的層級。
注意事項 |
---|
如需負載測試情節屬性及其描述的完整清單,請參閱負載測試情節屬性。 |
負載模式會指定能夠在負載測試期間使用的虛擬使用者數目,以及加入新使用者的比例。 共有三個可用的模式供您選擇:逐步執行、常數和以目標為依據。 如需詳細資訊,請參閱編輯負載模式以模型化虛擬使用者活動。
注意事項 |
---|
您也可以使用負載測試外掛程式,以程式設計方式變更負載屬性。如需詳細資訊,請參閱 如何:建立負載測試外掛程式。 |
若要變更負載模式
開啟負載測試。
在 [負載測試編輯器] 的 [情節] 資料夾中,展開您要編輯其負載模式的情節,並且選擇該情節的負載模式。
注意事項 就如同負載測試的情節樹狀目錄中所顯示的負載模式節點一樣,它的用字會反映您在建立負載測試時所選擇的載入設定檔。它可能是 [常數載入設定檔] 或 [逐步執行載入設定檔]。
按 F4 顯示 [屬性] 視窗。
[負載模式] 和 [參數] 分類都會出現在 [屬性] 視窗中。
(選擇性) 變更 [負載模式] 分類中的 [模式] 屬性。
您的 [模式] 屬性選擇包括了 [逐步執行]、[常數] 和 [以目標為依據]。 如需負載模式類型的詳細資訊,請參閱編輯負載模式以模型化虛擬使用者活動。
(選擇性) 在 [參數] 分類中,變更值。
注意事項 您可以根據為 [模式] 屬性所選取的值,來設定不同的 [參數] 值。
完成變更屬性之後,請選擇 [檔案] 功能表上的 [儲存]。 然後,您就可以使用新的負載模式執行負載測試。
外部資源
指引
使用 Visual Studio 2012 測試持續傳遞 – 第 6 章:測試工具箱