《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一2.4.2 存儲
本節書摘來異步社區《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一書中的第2章 ,第2.4.2節,[美] 克裏斯托弗·庫塞克(Christopher Kusek) 著 呂南德特·施皮斯(Rynardt Spies)姚海鵬 劉韻潔 譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
2.4.2 存儲
如第7章所述,存儲通常對整個虛擬機的性能影響最大。一個機構可以購買具有最強CPU、巨大容量RAM的服務器,但是如果存儲能力不能滿足性能需求,那麼所有虛擬機都將受到影響。正因如此,在投入生產環境之前,擁有一個用來測試和驗證存儲平台性能的工具集是十分重要的。
1. Iometer
生成存儲I/O最知名的工具應該就是Iometer。Iometer深受大家喜愛,因為它可以生成特定類型的I/O來模擬應用的負載配置。可以將I/O配置成隨機或者連續、讀或寫,還可以選擇使用特定的塊大小。所以Iometer不僅是一個可以生成I/O活動的工具,且它生成的I/O能夠非常接近地模擬實際應用生成的I/O。並且由於它隻是一個運行在Windows或Linux下的應用程序,所以Iometer可以方便地在物理或虛擬服務器上使用。
Iometer通過在虛擬機上生成一個測試文件,然後針對這個文件運行I/O測試。這個測試文件是定義在分區裏的,所以需要在開始測試之前把千兆字節轉化為分區。在Maximum Disk Size方框中填入合適的分區的數量,如圖2-14所示。這個例子中,使用16777216個分區來生成一個8GB的測試文件。要確保在Targets下選擇了適當的磁盤(如果虛擬機有多個虛擬磁盤)並選擇了適當的worker數量。每個worker都是一個產生I/O的線程,worker的總數不應該超過分配給虛擬機的vCPU的數量。
Iometer測試文件的大小
當運行一個測試文件時,為Iometer測試文件選擇合適的大小是很重要的。一個常見的錯誤是,如果運行一個太小的Iometer測試文件,會導致不正確的結果。當一個操作係統(如Windows)讀一個文件時,為了更快地讀取它會複製文件的一部分(或整個文件)到RAM中。對於Iometer測試來說,這樣就會使結果偏離,因為是從RAM中讀取而不是從磁盤中讀取。
根據經驗產生的Iometer測試文件的大小應該至少是配置的RAM大小的兩倍。這樣就消除了操作係統在RAM中緩存文件的可能性,消除了對結果的影響。
接下來,要為測試定義接入參數,來確定想要產生的I/O類型。例如,如圖2-15所示,正在用一個16KB的塊產生一個新的接入參數,讀和寫的比例分別是60%和40%。這些I/O會分成60%隨機和40%順序。如果這個I/O配置符合你的期望,那麼運行這個測試你就能知道在這個預期負載下存儲的性能。你還可以調整與特定存儲陣列相匹配的隊列深度。第7章將討論更多有關隊列深度的細節。
一旦測試配置完成,就可以簡單地選擇屏幕上方的綠色標記來啟動。選擇Results Display標簽可以看到實時結果。滑動Update Frequency滑塊到一個較低的值,如1或2,如圖2-16所示。為了有一個更形象(也更有趣)的視圖,選擇每行末尾的“>”按鈕,可以彈出一個計速器視圖,如圖2-17所示。
Iometer帶有一些默認接入參數,但是最好定義一個與你的環境最相符的參數。盡管可以簡單地生成盡可能多的I/O進行測試,來觀察存儲基礎設施極限,但是測試中可能沒有那麼多的值,除非你試圖出售存儲陣列。畢竟,如果測試與實際的存儲I/O配置文件不準確匹配,最終數據將是沒有用的。
當測試完成之後,你不僅可以知道能夠生成的IOPS的數量,還可以知道記錄下來的延遲。一般來說,IOPS的值越高,性能越好,隻要IOPS的延遲在合理範圍即可。可接受的延遲值取決於使用的存儲類型,但對大部分工作負載來說,5~10毫秒是可接受的延遲。
應用類型多種多樣,所以根據應用類型的不同I/O負載也不同。在使用Iometer之前了解你期望的I/O配置文件是很重要的。輸出結果好壞取決於你的測試數據,所以在使用Iometer之前要得到期望的I/O配置文件的準確描述。如果你不確定I/O配置文件是怎樣的,請與應用所有者或者軟件供應商聯係。或者如果你隻是希望測試存儲陣列的界限,你可以配置Iometer來嚐試驅動存儲的最大IOPS數量。
有關Iometer的更多信息以及工具下載,請訪問www.iometer.org。
2. I/O分析器
I/O分析器是VMware用來測量虛擬環境中存儲性能的一個虛擬工具。I/O分析器使用Iometer來產生I/O負載。它還可以把存儲I/O軌跡作為輸入來產生一個自動的負載或者更接近真實應用的工作負載。
I/O分析器提供了一個簡單易用的圖形界麵來在虛擬基礎設施中運行Iometer測試。它的功能超過Iometer,可以讓你回放實際工作負載的軌跡,並且有定時功能,可以在一天的特定時間運行測試。
I/O分析器與簡單地運行Iometer還有一點不同,它可以看到esxtop。如果你給ESXi主機授權,I/O分析器可以顯示Iometer的測試結果以及相關的esxtop組件。在一個畫麵中可以看到兩個工具的結果,可以大大節省時間,這是使用I/O分析器的一大好處。
輕鬆地運行Iometer測試並查看結果是I/O分析器的關鍵好處。這個工具由VMware免費提供,有一個VMware Labs Fling,是性能工具箱中的便捷工具。
有關I/O分析器的更多信息及下載,請訪問https://labs.vmware.com/flings/io-analyzer。
最後更新:2017-06-22 11:03:21