<!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>