本節書摘來華章計算機《vsphere性能設計:性能密集場景下cpu、記憶體、存儲及網絡的最佳設計實踐》一書中的第2章 ,第2.4.1節,[美] 克裡斯托弗·庫塞克(christopher kusek) 著 呂南德特·施皮斯(rynardt spies)姚海鵬 劉韻潔 譯, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
生成cpu和記憶體負載對于測試vsphere功能或者觀察負載下的應用性能十分有用。盡管有大量工具可以生成這個負載,但是使用可以同時生成這兩種負載的單個工具可以簡化你的測試。
prime95
仿真cpu和記憶體負載最老的工具之一是prime95。這個工具最初是為了幫助尋找質數(現在仍出于這個目的),但它同時也是一個有用的負載仿真工具。
當你第一次運作prime95時,會提示你用特定功能來運作一個壓力測試。例如,你可以選擇給cpu但不給ram施加壓力,或者你可以選擇給兩者都施加壓力。圖2-13顯示了壓力測試的選項,選擇“blend(tests some of everything, lots of ram tested)”作為測試參數。這個測試會同時測試cpu以及記憶體。

注意圖2-13中的number of torture test threads to run字段,它表明了進行壓力測試的cpu數量。如果你有4個vcpu而隻選擇兩個線程,prime95将隻消耗cpu負載50%的性能。為了測試所有vcpu,要確定整個值與配置的vcpu的數量相符。
有多個原因使你可能想要對一個或多個虛拟機的cpu和記憶體進行壓力測試。以下清單提供了一些常見的例子,但是根據個人需求可能還有許多其他原因:
如果對你的esxi主機實體硬體進行壓力測試,那麼在多個虛拟機上同時使用prime95是一個好方法。如果配置虛拟機使用所有可用的cpu和記憶體資源,那麼使用prime95可以為實體cpu和記憶體加壓,并有可能在将伺服器放入生産環境之前發現錯誤的硬體。這一般稱為“burn-in”測試。
在環境中引入模拟cpu和記憶體負載可以确定負載下的虛拟機性能。比如,如果一個應用的基準性能标準(如每秒的資料庫請求)低于正常情況,prime95可以引入負載并随後引起cpu或者記憶體争用。這樣你就可以看到應用在這種負載下的性能,并且知道如果在生産環境中出現這種情景,應用将會有怎樣的性能。
對于測試像vsphere drs這樣的功能,生成cpu和記憶體負載是一個非常好的方式。通過模拟負載來確定drs可以自動遷移虛拟機來平衡負載。還可以用它來确認達到了cpu和記憶體的預留。可能最重要的是,如果虛拟機接收到了符合配置限制、預留或共享資質的資源,你可以進行觀察。當使用資源池給虛拟機配置設定cpu和記憶體資源時,這是尤為重要的。為資源池配置設定資源的更多細節見第4章。
存在多種原因使你想要在環境中生成模拟cpu和記憶體負載。不管是什麼原因,prime95都是一個用來仿真負載的好工具。
要學習有關prime95的更多資訊以及下載下傳副本,請通路www.mersenne.org/freesoft。