前一段時間進行了虛擬機平臺的性能測試,大家圍繞物理機、虛擬機之間的模型,單模塊性能測試和集成性能測試方案反復爭論了很久。因為是初次嘗試,而且這個平臺底層依賴Xen,Xen又依賴Linux內核;依賴云計算的操作系統;依賴服務器硬件;同時業務上又被上層應用網站依賴,必須考慮客戶網站的性能指標;牽扯點比較多,還是比較復雜的。
最終達成了幾點一致:
1.在生產環境集群進行性能測試,因為是尚未上線的項目,所以具備這個條件。另一方面也是考慮到虛擬機平臺對物理機的性能、物理機的內核均存在較高的依賴性。在功能測試過程中也經常發現由于硬件或內核的兼容性問題導致整個服務宕機的情況。
2.將模型簡化為
a)單物理機單Vm:重點在與物理機的性能進行比較
b)單物理機多VM:重點在看一臺物理機理想情況下的能支撐多少臺虛擬機
c)多物理機多VM:重點在模擬真實場景下的對虛擬機平臺的壓力。當然需要有業務指標來權衡如何設置vm的數量和集群機器數量
d)VM鏡像性能評估:重點在模擬真實場景下,在虛擬機建站后,站點的性能情況
3. 針對和云計算的操作系統的關聯進行單獨測試。我們形象的稱為灰盒性能測試。
4.長時間壓力場景下的穩定性測試
5.重點關注的性能指標:IO、IOPS、Response Time、Memory,沒有考慮CPU因為基本上CPU不是瓶頸,在CPU瓶頸之前IO早就撐不住了,當然這也和虛擬化平臺本身的設計有關
另外還有很多技術細節,我們這的性能測試工程師也花了不少心思。比如如何IO讀寫的效率,多VM性能的監控,如何對磁盤產生并發的讀寫壓力,挺有意思。