7.4 vhost-net调优

为虚拟机选择网卡类型时,virtio类型网卡是专为虚拟化而设计的网卡,相比于传统的全模拟网卡e1000,e1000e等虚拟机切换更少,效率更高。在virtio-net的基础上,设计了vhost-net网卡,减少了系统调用次数和数据拷贝而更加高效,目前当选择virtio网卡时默认使用vhost-net。
vhost-net支持poll-us选项,允许在没有包处理任务时忙等一段时间,如果很快有数据来到,此时的等待是有效的,可以避免无效的进程切换开销。如果在等待的时间内没有任何数据处理则忙等是无意义的,并且额外占据了CPU。目前在netperf -t TCP_RR/UDP_RR测试中可以显著提升性能,其他场景以实际应用效果为准。

在qemu中可以直接以-netdev tap,vhost=on,poll-us=1000进行设置,但是libvirt不支持该参数选项,龙芯 KVM 虚拟化对此进行了支持,配置如下:

  1. 普通NAT
     <interface type='network'>
       <mac address='52:54:00:a0:ab:5c'/>
       <source network='default'/>
       <model type='virtio' poll-us='100'/>
       <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
     </interface>
    
  2. 桥接物理网卡时配置
     <interface type='bridge'>
       <mac address='52:54:00:a0:ab:5c'/>
       <source bridge='virbr0'/>
       <model type='virtio' poll-us='10'/>
       <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
     </interface>
    
©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2023-05-19 06:36:14

results matching ""

    No results matching ""

    results matching ""

      No results matching ""