最省錢及省時的負載壓力測試怎麼做? Visual Studio Online 雲端壓力測試 (Cloud Load Test) 簡介
註: 內文提及 Visual Studio Ultimate 已於 2015/3月改名為 Visual Studio Enterprise
註: 內文提及 Visual Studio Online 已於 2015/11月改名為 Visual Studio Team Services
線上訂票系統,如何在上線開放民眾訂購前,先做好準備呢? 例如一些演唱會的購票,或是連續假期預訂交通工具票證,因瞬間網友搶票的大流量,導致線上訂票系統無法提供服務造成民眾抱怨連連。
若是一個大型系統、電子商務或是對外的公眾服務,常會面臨大量的同時線上使用者 (concurrent users) ,如何確保你的系統的可用性、可靠度及效能呢?大部份的開發者及系統維運團隊都知道可在上線前執行負載壓力測試 (Stress Test / Load Test),確保應用程式在大量壓力下的可用性,並盡早找出系統的 bottle-neck 並調整,例如調整系統架構、程式寫法、利用非同步 (async)、cache、queue 機制、分散機器及運用雲服務、或scale-up/scale-out。
要多少 concurrent users? 馬上變給你!Visual Studio Team Services 的雲端壓力測試 (Cloud Load Test) NEW!!
但以往進行壓力測試,需準備產生壓力的機器當成是 agent,所需的機器數量通常是數10台以上,才能模擬大量的 (上萬/或數10 萬) 同時線上使用者 (concurrent users),即使在企業內部你準備好了這些機器及環境,一執行壓測時,馬上企業內的網路頻寬就被吃掉了,無法模擬出真正上線的運作。現在可以運用雲平台 Visual Studio Team Services 所提供 彈性的雲端壓力測試 (Cloud Load Test), 可以自動透過雲,有彈性且快速地產生這些壓力,馬上幫你省下準備機器及成本及安裝/設定相關軟體的時間。Visual Studio 使用者一樣使用相同的 IDE (需搭配 Visual Studio Ultimate 版本) 以管理、設定、執行負載壓力測試,並產生測試後的報表,快速找出系統的瓶頸點。
雲端壓力測試服務現在已正式發佈供各位使用,每個月有 15,000 20000 virtual user minutes (虛擬使用者/分鐘數) 的免費額度,例如: 免費額度可模擬 1,500 2000 線上使用者共10 分鐘 (1,500 2000 x 10 = 15,000 20000),因 Visual Studio Team Services 是 Microsoft Azure 其中一個服務,若需要更多,也可透過 Azure 的 billing 機制線上購買,如何購買可參考 [為帳戶取得更多負載測試容量] 。
馬上看 Demo! - [5分鐘影片看 Demo] 利用雲平台執行負載壓力測試 (Cloud Load Testing) - 微軟 MVP 胡百敬老師以及 Sky Chang 的簡介,馬上了解!
[簡單的 Demo Screenshot] - 錄製 Web 效能測試
建立 Web 效能測試。(在 Visual Studio Ultimate 2013 中) - 現為 Visual Studio Enterprise 2015
您的 Web 瀏覽器隨即開啟。
輸入要測試之網站的 URL。
以預期客戶會使用的方式來使用應用程式例如,例如 Web 的電子商務應用程式,就搜尋產品並將它們加入購物車。
錄製器將結取 HTTP 要求和回應。
完成時,停止錄製。
編輯測試屬性來指定效能目標。例如,您可以選擇一個頁面,並為該頁面的回應時間目標設定為 1 秒。
建立負載測試
在 Web 效能和負載測試專案中建立新的負載測試。(在 Visual Studio Ultimate 2013中) - 現為 Visual Studio Enterprise 2015
當出現負載測試精靈時,選擇負載模式步驟。將負載模式變更為逐步執行負載,這會隨時間逐漸新增使用者。這裏可依據真實的網路使用環境,設定壓力測試的情境,以盡可能達到較符合真實的測試
選擇測試混合步驟。
加入您建立的 Web 效能測試。
將 Web 效能測試移至要執行的測試清單。就是你之前錄製好的測試情境。
完成精靈時,Web 效能測試便會加入負載測試並出現在負載測試編輯器中。
設定專案在雲端中執行負載測試
編輯測試設定檔案來設定專案使用 Visual Studio Team Services 執行測試 (只有負載測試可以在雲端執行,選擇 ....Team Foundation Service ...,這是 Visual Studio Team Services 的舊名字,現已全面改名)。
您必須先連接到 Visual Studio Team Services 中的小組專案後,才能在雲端執行負載測試
從 Visual Studio 小組總管連接到您的小組專案。
顯示可用的小組專案清單。
如果您尚未連接到您的 Visual Studio Team Services 帳戶,則必須將它加入您的清單。
輸入帳戶的名稱 -[您的帳戶].visualstudio.com。
如果系統提示您登入 Microsoft 帳戶,請進行該動作。
從清單中選取伺服器,然後選取您的小組專案。您現在可以連線了。
執行和分析負載測試
使用 Visual Studio Team Services 在雲端執行負載測試。
您可以查看您的測試何時加入服務的佇列。
當您的負載測試準備好執行時,測試狀態會變更為:正在擷取資源。對於大型測試回合,這可能需要長達十分鐘的時間讓服務為您完成設定機器和代理程式等困難的工作。
當測試執行中時,您可以查看效能圖形。選擇詳細資料來查看任何錯誤、警告或其他與負載測試回合相關的資訊。
您也可以檢視輸送量圖形。
負載測試完成後,您可以下載報告。
下載後,您可以檢視報告。
完成的測試結果包括效能計數器資料、臨界值違規和錯誤資訊。
選擇詳細資料檢視。藉由分析使用者的逐步執行負載模式,您可以識別效能無法滿足所求的使用者計數。
在應用程式的程式碼中修正任何問題並返回測試。您也可以指定各種 Web 效能測試屬性、負載測試案例屬性和執行設定屬性來精簡測試,更進一步模擬真實世界的負載。
若要購買額外的負載壓力服務,需到 Windows Azure 中的 Visual Studio Team Services 服務中做設定
登入 Windows Azure 時,請用一個可以線上購買 Azure 服務的訂用帳戶,如此才能進行 Visual Studio Team Services 的相關設定及購買。
唯有 Windows Azure 訂閱擁有人或 Windows Azure 管理員可以在入口網站中存取您的帳戶。
移至規模頁面。
選擇 [付費] 為 Visual Studio Team Services 帳戶取得無限制的組建或負載測試容量。您的資源使用量超過每月的免費上限後才會向您收費。
[執行壓力測試所需軟體]
- 在本機需安裝並使用 Visual Studio Ultimate 2013 (最新版本為 Visual Studio Enterprise 2015) 的軟體,錄製測試腳本及設定測試情境。
- 開通 Visual Studio Team Services (原名Visual Studio Online) 的帳號; 當免費的 15,000 20,000 virtual user minutes (虛擬使用者分鐘數)不足時,請開通 Azure 中 Visual Studio Team Services 的付費機制。
更多參考資源及 FAQ -
- 壓力測試 Step-by-Step 設定& FAQ - https://www.visualstudio.com/zh-tw/get-started/load-test-your-app-vs
- Visual Studio Online Load Test Troubleshooting Guide - https://blogs.msdn.com/b/visualstudioalm/archive/2014/03/14/visual-studio-online-load-test-troubleshooting-guide.aspx
- 如何在 Windows Azure 線上購買更多 Visual Studio Team Services 負載壓力測試容量 - https://www.visualstudio.com/zh-tw/get-started/get-more-build-or-load-testing-vs
關於壓力測試問題,請洽:台灣微軟開發工具服務窗口 - MSDNTW@microsoft.com / 02-3725-3888 #4922