Hyper-V性能監控對比:任務管理器 vs 性能監視器
IT管理員必須通過監控和記錄Hypervisor的性能表現來了解內存使用、磁盤延遲和網絡帶寬等信息。微軟Hyper-V可以使用內置的工具來實時監控計算資源,但是必須要經過正確和持續的使用才能夠產生預期效果。考慮到這些,讓我們對比兩個內置的免費Hyper-V性能監控工具:任務管理器和性能監視器。
在虛擬化環境中,監控對象是最為重要的,所以任何Hyper-V性能監控和報告工具都必須能夠識別虛擬化環境。在監控系統所有資源的基礎上,還可以查看每臺虛擬機(VM)的資源使用情況。如果不能,那么這個工具就會產生不準確的數據,讓管理員產生錯誤的理解。
假設你在一臺雙核服務器上創建了兩個Hyper-V虛擬機,使用任務管理器來監控兩臺虛擬機的性能表現。如果每臺虛擬機都被分配了兩個虛擬CPU(vCPU)——并且負載可以使用所有可用的vCPU資源——那么兩臺虛擬機都將會報告100%的處理器使用率,而實際每臺虛擬機只使用了50%的處理器周期(兩臺虛擬機不能同時使用所有的CPU周期)。當使用普通的性能計數器時,即便像性能監控器(Perfmon)這樣功能更加強大的工具也會產生錯誤的結果。
但是,Hyper-V提供了一系列單獨的計數器,允許管理員針對主機(系統)層和客戶端(虛擬機)層來分別監測資源使用情況。對于上面的處理器情況來說,對應的Hyper-V計數器稱為"\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time",其可以報告所有花費在運行主機和客戶機器上的總處理器時間。但是稱作"\Processor(*)\% Processor Time"的Hyper-V計數器只能報告花費在主機上的處理器時間。在你查看了所有這些數據之后,才能夠判斷機器是否健康、資源不足或者十分緊張。
Hyper-V還提供了許多其他針對虛擬化的性能監控計數器,來解決其他核心性能問題,比如網絡、內存和磁盤輸入/輸出。例如稱為"\Logical Disk(*)\Avg. sec/Read"和"\Logical Disk(*)\Avg. sec/Write"的計數器可以報告磁盤讀寫次數,小于15毫秒的響應時間通常被認為是健康的。對于內存,Hyper-V計數器"\Memory\Available MBytes"可以報告系統的可用內存,50%以上的可用內存被認為是健康的。"\Memory\Pages/sec"計數器可以報告每秒產生的頁交換文件數量,每秒鐘500個或者更少是健康的;更多的交換文件可能意味著可用內存的不足。
還有很多其他的Hyper-V計數器。Windows服務器和Hyper-V文檔可以為你提供針對所有計數器的更加完整的索引。但是,如果需要在Hyper-V性能監控中使用更加復雜或者自動化特性,可以選擇使用功能更加強大的工具,比如ManageEngine提供的免費Hyper-V性能監控工具、微軟System Center Virtual Machine Monitor、Veeam的Veeam ONE、DeLL提供的適用于虛擬化環境的Foglight、以及SolarWinds的Server & Application Monitor。