<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="'Lucida Sans','Lucida Grande',Arial,sans-serif">I have 2
similar servers. Since upgrading one from CentOS 5.5 to 6, disk write
performance in kvm guest VMs is much worse.<br>
<br>
There are many, many posts about optimising kvm, many mentioning disk
performance in CentOS 5 vs 6. I've tried various changes to speed up
write performance, but northing's made a significant difference so far:<br>
<br>
- Install virtio disk drivers in guest<br>
- update the host software<br>
- Update RAID firmware to latest version<br>
- Switch the host disk scheduler to deadline<br>
- Increase host RAM from 8GB to 24GB<br>
- Increase guest RAM from 2GB to 4GB<br>
- Try different kvm cache options<br>
- Switch host from ext4 back to ext3<br>
- Set noatime on the virtual disk image file<br>
Note: There is no encryption or on-access virus scanner on any host or
guest.<br>
<br>
Below are some the block write figures in MB/s from bonnie++ with
various configurations:<br>
<br>
First, figures for the hosts show that the CentOS 6 server is faster:<br>
<br>
<font face="Courier New, Courier, monospace">54 CentOS 5 Host<br>
50 CentOS 5 Host<br>
69 CentOS 6 host<br>
70 CentOS 6 host</font><br>
<br>
Figures for a CentOS 6 guest running on the CentOS 5 host show that the
performance hit is less than 50%:<br>
<br>
<font face="Courier New, Courier, monospace">30 CentOS 6 guest on
CentOS 5 host with no optimisations<br>
27 CentOS 6 guest on CentOS 5 host</font></font><font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><font
face="Courier New, Courier, monospace"> with no optimisations</font></font><br>
<font face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><font
face="Courier New, Courier, monospace">32 CentOS 6 guest on CentOS
5 host</font></font><font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><font
face="Courier New, Courier, monospace"> with no optimisations</font></font><font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><br>
<br>
Here are the figures a CentOS 6 guest running on the CentOS 6 host with
various optimisations. Even with these optimisations, performance
doesn't come close to the un-optimised guest running on the CentoOS 5
host:<br>
<font face="Courier New, Courier, monospace"><br>
5 No optimisations (i.e. same configuration as on CentOS 5)<br>
4 deadline scheduler<br>
5 deadline scheduler<br>
15 noatime,nodiratime<br>
14 noatime,nodiratime<br>
15 noatime<br>
15 noatime + deadline scheduler<br>
13 virtio<br>
13 virtio<br>
10 virtio + noatime<br>
9 virtio + noatime</font><br>
<br>
The CentOS 6 server has a better RAID card, different disks and more
RAM, which might account for the better CentOS 6 host performance. But
why might the guest write performance be so much worse?</font><font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><br>
<br>
</font><font face="'Lucida Sans','Lucida Grande',Arial,sans-serif">Is
this a known problem? If so, what's the cause?</font> <font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif"> If not, i</font><font
face="'Lucida Sans','Lucida Grande',Arial,sans-serif">s there a way to
locate the problem rather than using trial and error?</font><br>
<font face="'Lucida Sans','Lucida Grande',Arial,sans-serif"><br>
Thanks,<br>
Julian<br>
</font>
</body>
</html>