Performance tuning

  • Thread starter Thread starter cirroz
  • Start date Start date
C

cirroz

Guest
I have several HVM with Windows.
All of them placed on iSCSI target.
iSCSI works over 1GB ethernet with Intel NICs.
hdparm on idle system shows ~90MB/s throughput for every one virtual /dev/sdX.

I found IBM's suggestions to tune performance for kvm - http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/liaatbpkickoff.htm
Particularly, I'm interesting with this part of their guide - http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/liaattuncache.htm
Will it help to reach some improvements with I/O?
Where can I set the cache parameter to kvm-disk?
Which other tunes will improve the performance of VMs?

Here is another one suggestion - http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaat/liaatbpdeadline.htm
Is the deadline I/O scheduler the best scheduler for several HVMs?

UPD. Fixed wrong links, sorry
 
Last edited by a moderator:
how do you benchmark in detail? 90 MB/s seems reasonable for me.

post your detailed version with 'pveversion -v'.

and post the config of your VM (see /etc/qemu-server/VMID.conf)
 
Hello, Tom.

how do you benchmark in detail? 90 MB/s seems reasonable for me.

I just used hdparm:

proxve:~# fdisk -l /dev/sdf

Disk /dev/sdf: 64.4 GB, 64424509440 bytes
64 heads, 32 sectors/track, 61440 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x410cddb0

Device Boot Start End Blocks Id System
/dev/sdf1 * 2 101 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdf2 102 61438 62809088 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
proxve:~# hdparm -tT /dev/sdf

/dev/sdf:
Timing cached reads: 13610 MB in 2.00 seconds = 6810.50 MB/sec
Timing buffered disk reads: 204 MB in 3.09 seconds = 65.92 MB/sec
proxve:~# hdparm -tT /dev/sdf

/dev/sdf:
Timing cached reads: 11938 MB in 2.00 seconds = 5973.68 MB/sec
Timing buffered disk reads: 248 MB in 3.01 seconds = 82.51 MB/sec
proxve:~# hdparm -tT /dev/sdf

/dev/sdf:
Timing cached reads: 13216 MB in 2.00 seconds = 6613.15 MB/sec
Timing buffered disk reads: 268 MB in 3.01 seconds = 89.03 MB/sec
proxve:~#

/dev/sdf is a link to iSCSI target with started Windows 2008R2 VM.
But inside VM the disk speed is very slow ~10MB/s

post your detailed version with 'pveversion -v'.

Here is:
proxve:~# pveversion -v
pve-manager: 1.7-11 (pve-manager/1.7/5470)
running kernel: 2.6.32-4-pve
proxmox-ve-2.6.35: 1.7-9
pve-kernel-2.6.32-4-pve: 2.6.32-30
pve-kernel-2.6.35-1-pve: 2.6.35-9
qemu-server: 1.1-28
pve-firmware: 1.0-10
libpve-storage-perl: 1.0-16
vncterm: 0.9-2
vzctl: 3.0.24-1pve4
vzdump: 1.2-10
vzprocps: 2.0.11-1dso2
vzquota: 3.0.11-1
pve-qemu-kvm: 0.13.0-3
ksm-control-daemon: 1.0-4
proxve:~#

and post the config of your VM (see /etc/qemu-server/VMID.conf)

Here is a config of the VM:
proxve:~# cat /etc/qemu-server/103.conf
name: devterm-sdf
vlan0: virtio=76:8C:7C:BC:E1:32
ostype: w2k8
memory: 4096
sockets: 1
onboot: 1
cores: 4
boot: c
freeze: 0
cpuunits: 1000
acpi: 1
kvm: 1
bootdisk: virtio0
vlan1: virtio=FA:A5:D4:9D:CA:E8
description:
virtio0: devserv:0.0.4.scsi-3600144f022a8480000004d5392dc000a,cache=none
proxve:~#

Best regards.
 
Last edited by a moderator:
try 2.6.35 kernel - you already installed it but you booted into the 2.6.32er.
 
Unfortunately, I have to use OpenVZ too. But 2.6.35 doesn't support it :(
 
in that case, test with just one cpu, one core for your windows KVM guest - any improvement?