I'm trying to deploy few KVM servers based on the
following AMD 6xxx based motherboard:
I'm using Fedora 17 (kernel 3.4.4-5.fc17.x86_64) for the
KVM host and CentOS 6 (kernel 2.6.32-220.el6.x86_64) for the
VM. Everything seems to work fine until it comes to VM's
network performance. I was able to narrow down the problem
to host and the VM by running tests using iperf. Here are
the results:
# iperf -c 10.10.11.18 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.10.11.18, TCP port 5001
TCP window size: 197 KByte (default)
------------------------------------------------------------
[ 5] local 10.10.11.250 port 46737 connected with
10.10.11.18 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 2.17 GBytes 1.86 Gbits/sec
[ 4] local 10.10.11.250 port 5001 connected with
10.10.11.18 port 35905
[ 4] 0.0-10.0 sec 6.45 GBytes 5.54 Gbits/sec
So while the performance isn't the same in either
direction and I find even the higher 5.54 Gbps to be slow.
Switching from virtio-net to e1000 driver actually slows
the connection down to ~ 280 mbps. I've been trying to
figure out the problem for a while so I used nearly all
tunable options to improve the performance and while some do
make a difference it's not very big.
At home I have a budget server with Core i3 processor and
the same software setup. I am able to get 16 Gbps:
# iperf -c 192.168.7.60 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.7.60, TCP port 5001
TCP window size: 279 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.7.99 port 54182 connected with
192.168.7.60 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 19.4 GBytes 16.6 Gbits/sec
[ 4] local 192.168.7.99 port 5001 connected with
192.168.7.60 port 43845
[ 4] 0.0-10.0 sec 24.2 GBytes 20.8 Gbits/sec