P
phat
Guest
Hi.
First, let me apologize for making another thread about this issue.
I've read through everything I could find on this forum and it seems I am not alone.
But none of the suggested solutions I've read helped me and I am about to put my head thru the wall in frustation.
As the title suggest, this is about bad network performance in my KVM's.
Let me draw you a picture;
host <-> kvm guest running debian latest stable 6.0 x64
=======================================================
host# iperf -c 192.168.1.2 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 19.6 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.1 port 47530 connected with 192.168.1.2 port 5001
[ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 52194
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.2 sec 2.45 GBytes 2.06 Gbits/sec
[ 4] 0.0-10.3 sec 287 MBytes 234 Mbits/sec
host <-> openvz guest running debian 6.0 (standard template)
============================================================
# iperf -c 192.168.1.20 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.20, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.1 port 40428 connected with 192.168.1.20 port 5001
[ 5] local 192.168.1.1 port 5001 connected with 192.168.1.20 port 47610
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.25 GBytes 1.07 Gbits/sec
[ 5] 0.0-10.0 sec 844 MBytes 707 Mbits/sec
host <-> kvm guest running windows 2008 R2 x64
===============================================
# iperf -c 192.168.1.22 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.22, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.1 port 57958 connected with 192.168.1.22 port 5001
[ 5] local 192.168.1.1 port 5001 connected with 192.168.1.22 port 49521
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 459 MBytes 385 Mbits/sec
[ 5] 0.0-14.0 sec 310 MBytes 186 Mbits/sec
host local test
===============
Client connecting to 127.0.0.1, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[ 6] local 127.0.0.1 port 57935 connected with 127.0.0.1 port 5001
[ 5] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 57935
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 4.94 GBytes 4.24 Gbits/sec
[ 6] 0.0-10.0 sec 6.54 GBytes 5.62 Gbits/sec
As you can clearly see the performance on the KVM's are very bad and as a result I can't utilize my gbit network properly.
The worst is obviously the windows guest.
The KVM's are using virtio on both HD and NET.
Tried e1000 which made it worse.
Tried EVERY single virtio driver including latest 1.4.0 directly from redhat.
Now some facts and config files;
# pveversion -v
pve-manager: 1.9-26 (pve-manager/1.9/6567)
running kernel: 2.6.32-6-pve
proxmox-ve-2.6.32: 1.9-50
pve-kernel-2.6.32-4-pve: 2.6.32-33
pve-kernel-2.6.32-6-pve: 2.6.32-50
qemu-server: 1.1-32
pve-firmware: 1.0-14
libpve-storage-perl: 1.0-19
vncterm: 0.9-2
vzctl: 3.0.29-3pve1
vzdump: 1.2-16
vzprocps: 2.0.11-2
vzquota: 3.0.11-1
pve-qemu-kvm: 0.15.0-1
ksm-control-daemon: 1.0-6
# pveperf
CPU BOGOMIPS: 12003.20
REGEX/SECOND: 715447
HD SIZE: 36.67 GB (/dev/mapper/pve-root)
BUFFERED READS: 102.04 MB/sec
AVERAGE SEEK TIME: 11.39 ms
FSYNCS/SECOND: 766.28
DNS EXT: 42.11 ms
DNS INT: 32.32 ms
# lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 4
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 VGA compatible controller: ATI Technologies Inc RV530 [Radeon X1600]
01:00.1 Display controller: ATI Technologies Inc RV530 [Radeon X1600] (Secondary)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
06:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
06:01.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
# cat /etc/qemu-server/104.conf
name: windows2008kvm
bootdisk: virtio0
ostype: w2k8
virtio0: local:104/vm-104-disk-1.raw
memory: 2048
onboot: 1
sockets: 1
cores: 2
vlan0: virtio=9A:51:4A:B6:07:03
# cat /etc/qemu-server/107.conf
name: debian6kvm
bootdisk: virtio0
ostype: l26
virtio0: local:107/vm-107-disk-1.raw
memory: 2048
sockets: 1
onboot: 1
cores: 2
virtio1: /dev/sdb
virtio2: /dev/sdc
vlan0: virtio=7E:59:1D:CF:A1:22
If anyone can help me solve this I'll give you a medal!
First, let me apologize for making another thread about this issue.
I've read through everything I could find on this forum and it seems I am not alone.
But none of the suggested solutions I've read helped me and I am about to put my head thru the wall in frustation.
As the title suggest, this is about bad network performance in my KVM's.
Let me draw you a picture;
host <-> kvm guest running debian latest stable 6.0 x64
=======================================================
host# iperf -c 192.168.1.2 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 19.6 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.1 port 47530 connected with 192.168.1.2 port 5001
[ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 52194
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.2 sec 2.45 GBytes 2.06 Gbits/sec
[ 4] 0.0-10.3 sec 287 MBytes 234 Mbits/sec
host <-> openvz guest running debian 6.0 (standard template)
============================================================
# iperf -c 192.168.1.20 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.20, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.1 port 40428 connected with 192.168.1.20 port 5001
[ 5] local 192.168.1.1 port 5001 connected with 192.168.1.20 port 47610
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.25 GBytes 1.07 Gbits/sec
[ 5] 0.0-10.0 sec 844 MBytes 707 Mbits/sec
host <-> kvm guest running windows 2008 R2 x64
===============================================
# iperf -c 192.168.1.22 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.1.22, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.1 port 57958 connected with 192.168.1.22 port 5001
[ 5] local 192.168.1.1 port 5001 connected with 192.168.1.22 port 49521
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 459 MBytes 385 Mbits/sec
[ 5] 0.0-14.0 sec 310 MBytes 186 Mbits/sec
host local test
===============
Client connecting to 127.0.0.1, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[ 6] local 127.0.0.1 port 57935 connected with 127.0.0.1 port 5001
[ 5] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 57935
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 4.94 GBytes 4.24 Gbits/sec
[ 6] 0.0-10.0 sec 6.54 GBytes 5.62 Gbits/sec
As you can clearly see the performance on the KVM's are very bad and as a result I can't utilize my gbit network properly.
The worst is obviously the windows guest.
The KVM's are using virtio on both HD and NET.
Tried e1000 which made it worse.
Tried EVERY single virtio driver including latest 1.4.0 directly from redhat.
Now some facts and config files;
# pveversion -v
pve-manager: 1.9-26 (pve-manager/1.9/6567)
running kernel: 2.6.32-6-pve
proxmox-ve-2.6.32: 1.9-50
pve-kernel-2.6.32-4-pve: 2.6.32-33
pve-kernel-2.6.32-6-pve: 2.6.32-50
qemu-server: 1.1-32
pve-firmware: 1.0-14
libpve-storage-perl: 1.0-19
vncterm: 0.9-2
vzctl: 3.0.29-3pve1
vzdump: 1.2-16
vzprocps: 2.0.11-2
vzquota: 3.0.11-1
pve-qemu-kvm: 0.15.0-1
ksm-control-daemon: 1.0-6
# pveperf
CPU BOGOMIPS: 12003.20
REGEX/SECOND: 715447
HD SIZE: 36.67 GB (/dev/mapper/pve-root)
BUFFERED READS: 102.04 MB/sec
AVERAGE SEEK TIME: 11.39 ms
FSYNCS/SECOND: 766.28
DNS EXT: 42.11 ms
DNS INT: 32.32 ms
# lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 4
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 VGA compatible controller: ATI Technologies Inc RV530 [Radeon X1600]
01:00.1 Display controller: ATI Technologies Inc RV530 [Radeon X1600] (Secondary)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
06:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
06:01.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
# cat /etc/qemu-server/104.conf
name: windows2008kvm
bootdisk: virtio0
ostype: w2k8
virtio0: local:104/vm-104-disk-1.raw
memory: 2048
onboot: 1
sockets: 1
cores: 2
vlan0: virtio=9A:51:4A:B6:07:03
# cat /etc/qemu-server/107.conf
name: debian6kvm
bootdisk: virtio0
ostype: l26
virtio0: local:107/vm-107-disk-1.raw
memory: 2048
sockets: 1
onboot: 1
cores: 2
virtio1: /dev/sdb
virtio2: /dev/sdc
vlan0: virtio=7E:59:1D:CF:A1:22
If anyone can help me solve this I'll give you a medal!