本節書摘來華章計算機《vsphere性能設計:性能密集場景下cpu、記憶體、存儲及網絡的最佳設計實踐》一書中的第2章 ,第2.2.1節,[美] 克裡斯托弗·庫塞克(christopher kusek) 著 呂南德特·施皮斯(rynardt spies)姚海鵬 劉韻潔 譯, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
如果你決定掌握本章講的其中一個工具,那就是esxtop了。esxtop是一個内置于esxi的性能監控工具,提供主機性能的實時可視性。對于那些熟悉微軟windows的人,esxtop是和性能監控器(經常稱為“perfmon”)最相近的了。而對于那些有linux使用經驗的人,esxtop很像“top”工具。
esxtop可以通過登入esxi主機的esxtop控制台來獲得,或者通過vsphere指令行接口(cli)或vsphere管理助手(vma)等工具來遠端連接配接。一旦啟動,esxtop提供esxi主機上4個關鍵資源的實時可視性:cpu、記憶體、存儲和網絡。它可在主機層面也可在單個客機層面,提供每個關鍵資源的性能名額。
1. 互動模式
當第一次啟動esxtop時,它以互動模式啟動。可以通過按相應的按鍵來改變視圖,以呈現不同的性能計數器(見表2-1)。

打開工具可以看到多種互動模式,有一些特征可以使用來幫助你探究和解決特定問題。根據你在esxtop標明的互動模式,你可以使用字段選擇指令(f)來開啟關閉資訊的某一列。
例如,你想在存儲擴充卡視圖中看隊列的統計資料。這些資料預設不呈現,但是先按d鍵來進入視圖,再按f鍵來選擇統計資料,可以通過按d鍵來選擇qstats字段,如圖2-4所示。
随着qstats字段被選中,你可以看到aqlen顯示在esxtop中,如圖2-5所示。這個字段預設不呈現,但它(很多其他的字段)可以被添加到顯示器中以幫助檢視你要查找的性能資料。
2. 批模式
除了檢視實時性能統計資料之外,esxtop另一個非常有用的模式是批處理模式。在批處理模式下,你可以運作esxtop一段時間,并讓它自動聚集性能資料。把資料寫入csv格式檔案,該檔案可以作為很多管理者都很熟悉的類似于windows下性能監控器的輸入。
以批處理模式運作esxtop非常有用,因為你可以看到esxi主機或虛拟機在一段時間内的性能狀況。你可以指定哪些統計資料可以被監控,多久資料應該收集和寫入csv檔案一次。包含的統計資料越多,寫入csv檔案的頻率越高,輸出檔案就越大。
在批處理模式下,可以指定esxtop采集統計資料的間隔和寫入csv檔案的間隔。也可以指定自動停止前的疊代次數。這些配置被傳到esxtop指令中來使esxtop進入批處理模式。表2-2列出了可傳遞給esxtop的參數。
例如,你想運作esxtop共5分鐘的時間,每5秒采集一次資料,共疊代100次,并包括esxtop統計資料,輸出到名為results.csv的csv檔案。那麼可用下面的指令:
一旦esxtop進入批處理模式,你可以拿到csv結果檔案并把它載入windows中的性能監控器中。簡單地複制檔案到windows電腦并作如下操作:
1)在性能監控器中,按ctrl+l組合鍵顯示performance monitor屬性中的source标簽頁。
2)選擇單選按鈕log files并單擊add按鈕。
3)找到csv檔案,選擇,并單擊open按鈕。
4)單擊apply按鈕載入csv檔案到性能監控器中。
5)選擇data标簽頁,單擊add按鈕來選擇你想檢視的性能計數器。
6)找到你要檢視的計數器,單擊add按鈕在性能監控器中顯示,如圖2-6所示。單擊ok按鈕,然後再單擊ok按鈕來檢視你的資料。
現在收集的資料顯示在性能監控器中,可以看到圖形。監控的時間越長,資料越多,就可以畫出随時間變化的圖。esxtop資料在性能監控器中的一個輸出例子如圖2-7所示。
注意esxtop中的-a選項
-a選項在批處理模式中很引誘人。你也許會想,“當我在性能監控器中看資料時,為什麼不獲得所有的可擷取資料?”雖然這個觀點确實有價值,但事實是esxtop會收集很多資料。
隻在你想看所有可能從esxtop中收集的資料時使用-a選項。使用這個選項不僅會增大csv輸出檔案,還會導緻使用困難,因為你将面臨更多性能計數器的選擇,有很多重複的或者對目前任務沒有必要的。
除非你很确定,否則不要使用-a。 最後你很有可能花更多的時間去尋找正确的性能計數器,而不是利用你收集的資料去做其他事。
3. 何時使用esxtop
管理者共有的問題是“當我有vcenter中的實時統計資料時為什麼還要用esxtop?”vcenter确實有顯示實時統計資料的選項,記住在vcenter中,實時統計資料仍然延遲20秒。然而,esxtop可以按照你的需求頻繁地顯示資料。
當性能問題發生時,一開始使用vcenter來分析資料通常是合理的。vcenter使用資料庫來存儲曆史性能資料、報告目的和檢視趨勢。如果你決定有一個性能事件發生,并且你需要更詳細的資料或更頻繁的更新,那麼你應該使用esxtop。
esxtop是一個非常強大的性能工具,如果你還沒有十分熟悉esxtop,那麼花一些時間去學習和了解它的工作原理,以便使用它來解決性能問題。vsphere性能專家在分析性能問題時經常依賴這個工具,是以你也應該利用它。
我們将在本書的後面章節涉及一些和cpu、記憶體、存儲和網絡相關的具體esxtop計數器。
深入了解esxtop