VMware和VirtualBox中的網絡適配器類型及虛擬網絡性能優化


最近測試中發現虛擬機的網絡性能遇到了瓶頸,於是想一探究竟,發現自己一直忽略了這塊兒知識,於是做個筆記。

1.VirtualBox

eshizhan比較常用的是VirtualBox,以下簡稱Vbox,先從它入手:

網絡適配器

查看官方文檔發現,Vbox中可以模擬五種網絡適配器,

  • AMD PCNet PCI II (Am79C970A);

  • AMD PCNet FAST III (Am79C973, 默認);

  • Intel PRO/1000 MT Desktop (82540EM);

  • Intel PRO/1000 T Server (82543GC);

  • Intel PRO/1000 MT Server (82545EM);

  • Paravirtualized network adapter (virtio-net).

從兼容性來講, AMD PCNet系列兼容性好,也比較古老,Intel PRO/100系列是比較新的NIC,virtio-net一會兒講。

從性能上來講,新的Intel PRO/1000系列性能要比老的AMD PCNet系列要好,virtio-net要比前兩者都好,因為virtio-net是專為虛擬機設計的,優化了很多,貌似出自Redhat,但這款NIC是虛擬的,而且有相對較新,因此大部分OS是不帶驅動,需要配合Guest Addition中的驅動使用。 經過大概測試,使用virtio-net比默認的AMD PCNet有大約20%作用的性能提升。virtio-net比較新,以后還有很大提升空間。

網絡類型

下面再談Vbox中的網絡類型,這是個老生常談的話題,尤其是剛接觸虛擬機又不熟悉網絡的童鞋,個人推薦先簡單看下網絡方面的知識,尤其是拓撲圖,很快就能搞懂。eshizhan在這里只介紹性能方面。

Bridged(橋接), Internal, Host-only這三種類型的性能幾乎一樣,Network Address Translation (NAT)則是性能最差的,因為功能最復雜嘛。除了Bridged和NAT模式外都不容易訪問外網,因此推薦Bridged(橋接)模式。 

內核驅動

這部分主要是需要在Guest啟用網卡的segmentation offloading功能,默認是開啟的,可以使用ethtool工具查看。

2.VMware

VMware算是虛擬機的行業老大,最近幾年各種商業方案也是層出不窮

網絡適配器

同樣查看官方文檔后發現有大概這幾類,:

Vlance :其實就是AMD PCNet系列,型號為AMD 79C970 PCnet32- LANCE NIC
VMXNET :VMware自己開發的適用於虛擬環境的虛擬NIC
Flexible :啟動時智能在前兩者選擇最佳NIC, 默認
E1000 :Intel 82545EM Gigabit Ethernet NIC
E1000e :Intel 82574 Gigabit Ethernet NIC
VMXNET 2 (Enhanced):VMXNET改進版
VMXNET 3:VMXNET2改進版

這個毋庸置疑選擇VMXNET系列最好,當然也Guest需要Vmware Tools的支持。這里補充一點,網絡適配器類型的選擇只針對Vmware Server級別的產品如ESX等,像Vmware Palyer,甚至大家常用的VMware Workstation中都無法通過界面選擇網絡適配器類型,但可以通過修改.vmx配置文件達到同樣目的,

打開.vmx文件添加

  ethernet0.virtualDev = "vmxnet3"

  value is "vlance" or "e1000" or "vmxnet" or "vmxnet3"
 

VMware的網絡類型和內核驅動和Vbox相同

same Vbox

配置參數

.vmx文件中可以通過一系列參數微調你的虛擬NIC,如緩沖區大小:
 
  ethernet0.numRecvBuffers = 128
  ethernet0.numXmitBuffers = 64
 

3.總結

虛擬機的網絡適配器都是依靠CPU去模擬,還沒有類似像顯卡那樣利用硬件加速的技術,因此一方面通過使用為虛擬環境特殊優化過的Paravirtualized(准虛擬化)硬件驅動,另一方面通過使用如Bridged(橋接)模式,配置優化參數等方法將大部分網絡IO交給物理NIC,減少CPU中斷,來達到虛擬網絡環境優化的目的。

 

P.S.

eshizhan測試發現大量並發的網絡IO操作,雖然每個包不大,但可能涉及中斷太多,導致虛擬網絡性能下降很明顯,只能達到物理NIC的30%到40%,甚至更低。如果有類似經驗的朋友可以指教指教。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM