1. 程式人生 > >各種模式虛擬化的網路效能對比測試

各種模式虛擬化的網路效能對比測試

dpdk+ovs 與 物理機 與 sriov(pci passthrough) 純粹的linux bridge的效能對比

CPU E5-2680V2 2.8G,網絡卡 ixgbe intel 82599。

模式/併發-----pps 20 40 80
物理機 9.7W 17.3W 16.5W
dpdk + ovs + vhost-user  18.5W 30.8W 48W
sriov(pci passthrough) 17.5W 29W 48W
linux-bridge 10W 16.7W 20W

測試方法:路由轉發

結構為:A------R------B

實際上R有兩塊網絡卡,有4個方向的資料包,本測試只取其中之一,同時使用了LINUX的路由功能做測試,所以不做為各種技術的基準測試參考,只是一個相對值。

A做netserver,R替換為以上各種模式的機器,B做netperf的客戶端

分別使用netperf做20、40、80併發並繫結CPU進行TCP_RR測試。

dpdk-ovs-vhost-user的xml:

<domain type='kvm'>
  <name>vm1</name>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='1024' unit='M' nodeset='0'/>
    </hugepages>
  </memoryBacking>
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <numa>
      <cell id='0' cpus='0-1' memory='4194304' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
  <vcpu placement='static' current='2'>16</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/home/vm_workspace/vm1.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>

    <interface type='vhostuser'>
      <mac address='52:54:00:00:06:00'/>
      <source type='unix' path='/var/run/openvswitch/vhost-user-0' mode='client'/>
       <model type='virtio'/>
      <driver name='vhost' queues='2'>
        <host mrg_rxbuf='on'/>
      </driver>
    </interface>
    <interface type='vhostuser'>
      <mac address='52:54:00:00:06:01'/>
      <source type='unix' path='/var/run/openvswitch/vhost-user-1' mode='client'/>
      <model type='virtio'/>
      <driver name='vhost' queues='2'>
        <host mrg_rxbuf='on'/>
      </driver>
    </interface>
    <serial type='pty'/>
    <input type='tablet' bus='usb'/>
    <graphics type='vnc' autoport='yes' keymap='en-us' listen='0.0.0.0'/>
    <video>
      <model type='cirrus'/>
    </video>
    <memballoon model='virtio'>
      <stats period='10'/>
    </memballoon>
  </devices>
</domain>

sriov-passthrough的xml
<domain type='kvm'>
  <name>vm1</name>
  <memory>1024000</memory>
  <cpu mode='host-passthrough'>
     <cache mode='passthrough'/>
  </cpu>
  <vcpu placement='static' cpuset='0-3'>3</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/home/vm_workspace/vm1.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
   <interface type='hostdev' managed='yes'>
     <source>
       <address type='pci' domain='0' bus='0x02' slot='0x10' function='0x00'/>
     </source>
     <mac address='52:54:00:6d:90:00'/>
     <vlan>
        <tag id='4000'/>
     </vlan>
   </interface>
   <interface type='hostdev' managed='yes'>
     <source>
       <address type='pci' domain='0' bus='0x02' slot='0x10' function='0x01'/>
     </source>
     <mac address='52:54:00:6d:90:01'/>
     <vlan>
        <tag id='4001'/>
     </vlan>
   </interface>

    <serial type='pty'/>
    <input type='tablet' bus='usb'/>
    <graphics type='vnc' autoport='yes' keymap='en-us' listen='0.0.0.0'/>
    <video>
      <model type='cirrus'/>
    </video>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <memballoon model='virtio'>
      <stats period='10'/>
    </memballoon>
  </devices>
</domain>
linux-bridge的xml
<domain type='kvm'>
  <name>vm1</name>
  <memory>1024000</memory>
  <cpu mode='host-passthrough'>
     <cache mode='passthrough'/>
  </cpu>
  <vcpu placement='static' cpuset='0-3'>3</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/home/vm_workspace/vm1.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>

    <interface type='bridge'>
      <model type='virtio'/>
      <source bridge='br-ext'/>
    </interface>

    <interface type='bridge'>
      <model type='virtio'/>
      <source bridge='br-int'/>
    </interface>

    <serial type='pty'/>
    <input type='tablet' bus='usb'/>
    <graphics type='vnc' autoport='yes' keymap='en-us' listen='0.0.0.0'/>
    <video>
      <model type='cirrus'/>
    </video>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <memballoon model='virtio'>
      <stats period='10'/>
    </memballoon>
  </devices>
</domain>



相關推薦

各種模式虛擬化網路效能對比測試

dpdk+ovs 與 物理機 與 sriov(pci passthrough) 純粹的linux bridge的效能對比 CPU E5-2680V2 2.8G,網絡卡 ixgbe intel 82599。 模式/併發-----pps 20 40 80 物理機 9.7W 1

各種連線池效能對比測試

Druid是效能最好的資料庫連線池,tomcat-jdbc和druid效能接近。proxool在激烈併發時會拋異常,完全不靠譜。c3p0和proxool都相當慢,慢到影響sql執行效率的地步。bonecp效能並不優越,採用LinkedTransferQueue並沒有能夠獲得性能提升。除了bonecp,其他的在

類與結構體效能對比測試——以封裝網路心跳包為例

[toc] #1.背景 接上篇文章[深入淺出C#結構體——封裝乙太網心跳包的結構為例](https://www.cnblogs.com/JerryMouseLi/p/12606920.html),使用結構體效能不佳,而且也說明了原因。本篇文章詳細描述了以類來封裝網路心跳包的優缺點,結果大大提升瞭解析效能。

Flutter和iOS原生效能對比測試

開篇 剛剛起步看了兩個月Flutter,感覺和之前那些跨平臺框架略有不同,我認為已經到跨平臺時代的3.0(隨便說說哈)。 現在Flutter是谷歌主推的一個東西,感覺還是有點期待。下面是一個Flutter的Demo和自己做的一個基本功能差不多的iOS原生Demo做一個性能對比。 正文 下文使用,從記憶體

【原創】藍芽Mesh, ZIGBEE, THREAD網路效能對比?

作者6年多業內知名半導體工作經驗,目前在國內某BAT企業做產品。 歡迎關注公眾號交流物聯網技術和物聯網產品。 原文連結: https://mp.weixin.qq.com/s?__biz=MzI3NDE2NDMwNQ==&mid=2649905817&idx=1&

傳統、VHD、VHDX效能對比測試(轉帖)

nkc3g4發表於 2014-4-30 16:24:41 傳統、VHD、VHDX效能對比測試 - Windows To Go優盤系統 - 蘿蔔頭IT論壇 - Powered by Discuz! https://bbs.luobotou.org/forum.php?mod=viewthread&ti

HAWQ與Hive查詢效能對比測試

一、實驗目的        本實驗通過模擬一個典型的應用場景和實際資料量,測試並對比HAWQ內部表、外部表與Hive的查詢效能。二、硬體環境1. 四臺VMware虛機組成的Hadoop叢集。2. 每臺機器配置如下:(1)15K RPM SAS 100GB(2)Intel(R)

java工作筆記:web 程式設計中關於jni和jna兩種工具操作和效能對比測試

       第一次發部落格有點緊張哈。        最近剛剛公司轉崗從底層C語言的編寫到做Java的web restful架構。其中需要呼叫底層C++程式碼庫。所以對於選擇哪種方法從Java呼叫C的程式碼做了簡單地學習和對比測試。在這裡把他們貼出了。希望能有大神出來指點

YDB與spark SQL在百億級資料上的效能對比測試

        按照時間逆序排序可以說是很多日誌系統的硬指標。在延雲YDB系統中,我們改變了傳統的暴力排序方式,通過索引技術,可以超快對資料進行單列排序,不需要全表暴力掃描,這個技術我們稱之為blockSort,目前支援tlong,tdouble,tint,tfloat四種

go-gob序列化/反序列化與讀寫檔案效能對比測試

測試目的:個人開源專案ZCache需對資料進行持久化儲存,在此驗證兩種技術方案:gob序列化/反序列化和直接讀寫檔案的效能 待測試程式碼 package main import ( gob "encoding/gob" "encoding/json" "fmt" "

Mysql資料庫Innodb與MyISAM的效能對比測試

由於近期有個專案對系統性能要求很高,技術選型上由於種種原因已經確定使用Mysql資料庫,接下來就是要確定到底使用哪種儲存引擎。我們的應用是典型的寫多讀少,寫入內容為也很短,對系統的穩定性要求很高。所以儲存引擎肯定就定在廣泛使用的Innodb和MyISAM之中了。   

Hive 集算器 Impala效能對比測試報告(上)

目的   對比Hive、集算器、Impala這三種大資料解決方案在分組彙總和關聯計算時的效能差異。 硬體環境   PC數量:4   CPU:Intel Core i5 2500(4核)   RAM:16G   HDD:2T/7200rpm   Ethern

tmpfs與ext3效能對比測試

author:skate time:2011/08/22 磁碟的大檔案的copy測試 [email protected] ~]# du -m --max-depth=1 /tmp/dhexp 1189    /tmp/dhexp [[email pr

PCIe固態儲存與HDD普通硬碟效能對比測試

經過兩週的測試,得出以下結果 MySQL-OLTP測試結果:(50張表,每張表1000萬資料,1000個執行緒) TPS:MySQL在PCIe固態儲存上執行是在HDD上執行的5.63倍 writes:MySQL在PCIe固態儲存上執行是在HDD上執行的5.58倍 read

C# 三種位元組陣列(byte[])拼接的效能對比測試

之前做的通訊框架,一直用的List<byte>做的資料接收池。今天有點閒暇時間,特地寫了個DEMO將C#中的三種位元組陣列拼接方式的效能做了一個對比測試。 程式碼如下(若程式碼有不嚴謹或錯誤之處,懇請指出。): using System; using Syst

LevelDB、TreeDB、SQLite3效能對比測試

下面效能測試對比來自官方,由 NoSQLFan 進行翻譯整理。從結果上看,這不像某些田忌賽馬式的效能對比,總體來說還是比較客觀全面。通過多種場景下的不同效能測試結果的對比,我們也能對這三個資料庫分別擅長和適用的場合有所瞭解。同時對其效能調優的方法理解也有一定的幫助。

ArrayList和LinkedList的幾種迴圈遍歷方式及效能對比分析 主要介紹ArrayList和LinkedList這兩種list的五種迴圈遍歷方式,各種方式的效能測試對比,根據ArrayLis

主要介紹ArrayList和LinkedList這兩種list的五種迴圈遍歷方式,各種方式的效能測試對比,根據ArrayList和LinkedList的原始碼實現分析效能結果,總結結論。 通過本文你可以瞭解(1)List的五種遍歷方式及各自效能 (2)foreach及Iterator的實現 (3)加

效能測試:有線網路與無線網路對比

有線無線對效能測試結果影響對比 1.測試目的 驗證無線網路環境對壓測結果的的影響,以及有線網路的的壓測狀態是否比無線更好。 2.測試環境 效能測試環境 jdk版本 jdk1.8 部署容器 apache-tomcat-8 測試工具 Jmeter3.

Java中將InputStream讀取為String, 各種方法的效能對比

如下, 一共存在11種實現方式及其對應的效能測試結果: 1. 使用IOUtils.toString (Apache Utils) String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);

基於滴滴雲之 Netperf 網路效能測試工具的搭建及使用

1. 介紹 Netperf 網路效能是雲伺服器的重要指標,對網路效能進行準確的測試非常重要。Netperf 是一種可以用來衡量不同型別網路效能的工具,它可以用來測試 PPS(即每秒鐘傳送資料包的數目)、單向吞吐量和端到端延遲。本文給大家簡述如何採用 Netperf 對網路效能進行測試。