◎Acer AR385-F1虛擬主機系統效能與評估

先前針對新北市府配發的Acer AR385-F1伺服器以建置虛擬機為目的寫過一篇Acer AR385-F1伺服器開箱、規劃與配備提升,因此,這篇的重點將著重在探討虛擬機的效能,進而推估這台機器足以承載的虛擬機器數量與效能配置

由於ESXi伺服器的硬體規格會牽動vMachine的系統效能,規格愈高,vMachine能分配到的資源就愈足,那在規格已確定的狀況下,應該怎麼做到較佳的資源分配呢?就ESXi而言,對vMachine效能會有最直接影響的主要是處理器、記憶體與網路卡三項配備,這次的ar385-f1硬體規格,CPU是兩顆AMD Opteron 6128處理器,每顆處理器有8Core,雙處理器就有16Core,記憶體已增加到32GB,LAN有4埠,在一台具有16核心處理器、32GB記憶體以及4埠網卡的伺服器上,該如何評估或計算ESXi可以建置多少台虛擬機器?

想要了解CPU、RAM、網卡效能到底夠不夠用,其實在vSphere本身就有數據可供參考,但缺點是僅能顯示即時資訊,系統效能的評估需要較長周期的觀察與紀錄才能呈現真實的資訊,因此,vSphere提供的圖表其實是不足以進行較全面評估的

在虛擬先生著的全球最強VMware vSphere 4 企業環境建構一書中提到伺服器的合併率計算,乙台提供單純Web Service或一些輕量級服務的伺服器使用單核實體CPU的Loading大約僅佔整體效能的5%,換句話說,當這顆CPU是做虛擬機時,假設在建置相同服務的條件下,CPU要發揮到50%-60%的效能時,至少可以在ESXi提供10台同級服務的虛擬機器同時運作

來做個實驗,我在另一台具有8核心處理器的ESXi Server中各挑一個輕量與中量級服務的虛擬機器(單核CPU與4GB記憶體的配置都相同),經過一周的實際測量負載後計算平均值當做參考基準,輕量級服務挑選的是本校對外的Windows DNS Server,中量級服務則是約有150個Client會同時上線的趨勢科技OfficeScan防毒主控台,作業系統兩台都是Windows Server2008

(DNS Server CPU Loading)

(OfficeScan Server CPU Loading)

一、CPU、RAM、網路效能負載計算

1.首先開啟效能監視器並新增資料收集器集合工具

2.自訂工具名稱為System Performance

3.指定報告存放路徑到桌面的System Performance目錄下

4.使用預設值建立即可

5.在左側使用者定義欄位內即可看到自訂的System Performance計算工具,透過右鍵可命令其開始或停止,但先別急著開始,點選系統監視器紀錄兩下,先將RAM與LAN的負載記錄加進來以便日後報告的讀取與計算

6.將紀錄檔預設格式的二進位改為逗點分隔,方便日後報告能以.csv透過EXCEL讀取

這時新增需觀察的記憶體與網路流量數據,再按下套用與確定

附加選項可勾選在檔案前面加上電腦名稱以利辨識,而紀錄模式可勾選覆寫方塊,當遇到記錄中斷需重新執行時,原本的紀錄會被覆蓋,得重新計時,如不選此項,當發生中斷後欲重新啟用記錄時,會發生無法寫入的情形

 

7.到此就可以按右鍵開始進行記錄

開始記錄後,在桌面的System Performance目錄下就會產出DNS_系統監視器紀錄.csv的報告

8.到達測量的計算周期時,按右鍵停止記錄即可,預計要測量一周,所以2/23下午再執行停止即可。另乙台要觀察的OfficeScan中量級Server操作方式相同,不再贅述

9.經過六天的記錄截至2/23下午13:30分,DNS與Officescan的Log各自記錄了超過50萬筆資料,平均值計算結果為處理器使用率 [DNS:0.5 %] [OfficeScan:26 %]、記憶體使用量 [DNS:2048-1409=639 MB] [OfficeScan:2048-923=1125 MB]、網路使用量 [DNS:328 Byte] [OfficeScan:1214 Byte] /sec

(DNS Server System Performance)

(OfficeScan Server System Performance)

二、System Performance 效能分析

統計結果出來後可以大致作為在ESXi進行資源分配的參考,不過,本校DNS的CPU Loading(0.5%),真是有點低得離譜,但其實也在預料之內,因為這台DNS僅提供對外服務,外部會需要查詢學校名稱轉址服務的大概只有下班後的家長與返家的學生,白天上班期間內部主要的流量來源都靠三台DC擔任的DNS角色給分攤了。平均值是連續記錄七天每天24小時的結果,這部分包含每天晚間十點過後到隔日清晨六點這段低用量區間,所以應將峰值一併列入參考再行評估

以輕量級的DNS Server CPU使用率而言,雖然近九成以上的時間Performance都趨近於0,不過一旦Windows OS執行某些背景服務或病毒碼更新,或是管理者介入操作時,配置單核CPU來跑Server2008的峰值都會瞬間飆高,甚至破表。如果是Linux Base的作業系統,或許影響會比較小。這樣看下來,如果輕量級服務OS Base是Windows系列,想要跑得順一點的話,其實至少還是應該要配置到兩顆Virtual CPU會比較理想,當然,如果想要把資源與效能留給其他較重要的服務使用時,配置上只給單核其實也堪用!但是如果真的希望物盡其用將CPU Performance維持在60%左右,依照虛擬先生的估算法則,大概諸如本校DNS、D-View、LED燈箱Controller這類輕量級服務的機器在ESXi上單核就可以建置到120部虛擬機,再保守一點也可以設置到80部!但實際上應該不會有系統管理者會選擇這麼做,因為管理者無法掌握這些機器的峰值會在何時出現,80部虛擬機只要有幾部同時出現峰值過高的情況下,其他的70部大概就要停擺了,而且這樣機器的效能雖發揮得淋漓盡致,但過度操勞的機器在使用年限上相對會縮短許多!

另外,記憶體與網路流量的部分,DNS Server Performance記錄RAM的使用平均值為639MB,峰值為725MB;網路流量平均值0.3KB/sec,峰值為2520908Byte/sec,相當於2MB/sec。OfficeScan Server Performance記錄RAM的平均值為1125MB,峰值為1587MB;網路流量平均值為1.1KB/sec,峰值為10630600Byte/sec,相當於10MB/sec

因此,從實體機器數量的角度來看,乙台提供輕量級Windows服務的伺服器,在ESXi Server中至少需要配置1個Vitual CPU+1GB記憶體;中量級Windows服務的伺服器,在ESXi Server中若僅配置1個Vitual CPU大多數時間是充足,不過當峰值較高時會略嫌吃緊,但整體說來勉強堪用,再搭配2GB記憶體已游刃有餘

但若從規格的角度思考,希望充分榨出硬體效能時,我的看法是一個Virtual CPU還是不要搭配過多Windows Base的OS,雖然輕量級服務在常態下的CPU效能平均值在本校並不會高於虛擬先生所指的5%,但試想在5%的前提下冀望單一CPU發揮到60%而建置了12個Windows Base的OS,難保峰值不會有撞期的機會發生,一旦發生其中一台峰值到100%時,其他所有的服務就會被迫停擺。因此,個人的看法是每個Virtual CPU搭配1-2個OS為計算單位較為妥當

三、結論

綜上觀察,Acer ar385-f1以本校實際需求而言,除了WinAD的三部DC還是以實體機來運作,在搭配Storage的使用上較不會受限之外,其餘所有的服務都可收到ESXi裏頭運行,所以未來,學校只要維持住三部AD Server外加兩部ESXi Server再搭配Storage就可以維持住資訊環境的運作

因為,ar385-f1有16個vCPU,在每部Virtual Machine搭載1-2個vCPU的原則下,即使建置到16部Virtual Machine時,應該也能控制在理想的承載範圍,且每部Virtual Machine搭配1-2GB的記憶體。不過,再怎麼精算,MIS人員其實都還是要根據實際需求與服務輕重才能決定乙台ESXi可以承載的虛擬機數量,而且承載愈重,風險相對愈高,就如同把雞蛋全裝在同一個籃子,籃子一破底,雞蛋就全碎了,同樣的,如果設置ESXi的實體機器一旦發生硬體面的故障時,一次就是十幾台虛擬機完全停工

發表留言