10G NIC performance: VFIO vs virtio
From KVM
We did some experiment trying to measure network performance overhead in virtualization environment, comparing between VFIO passthrough and virtio approaches.
Test Topology
2 Intel Grantley-EP platforms (Xeon E5-2697 v3) connected by 10G link; memory 96 G.
NIC: Intel 82599ES
Test Tool: iperf
OS: RHEL 7.1
Result summary
- In native environment, iperf can get 9.4 Gbps throughput. Since iperf is a SW packet generator and normal process shall it be, this a reasonable number.
- With VFIO passthrough, network performance is also 9.4 Gbps; i.e., we cannot observe overhead in virtualization environment with VFIO passthrough method, in context of typical SW network user application.
- With virtio approach, if proper configured (details see below), network performance can also achieve 9.4 Gbps.
Here is the details about each kind of configuration.