KVM I/O slowness on RHEL 6

Written by Gionatan Danti on . Posted in Virtualization

User Rating:  / 106
PoorBest 

Testbed and methods

First, let me describe the workstation used in this round of tests; system specifications are:

  • CPU: Core-i7 860 (quad cores, eight threads) @ 2.8 GHz and with 8 MB L3 cache

  • RAM: 8 GB DDR3 (4x 2 GB) @ 1333 MHz

  • DISKS: 4x WD Green 1 TB in software RAID 10 configuration

  • OS: Red Hat Enterprise Linux 6 64 bit

The operation system was installed with “basic server” profile and then I selectively installed the various other software required (libvirtd, qemu, etc). Key systems software are:

  • kernel version 2.6.32-71.18.1.el6.x86_64

  • qemu-kvm version 0.12.1.2-2.113.el6_0.6.x86_64

  • libvirt versio 0.8.1-27.el.x86_64

  • virt-manager version 0.8.4-8.el6.noarch

As stated before, initially all host-system partitions were formatted in EXT4, but to avoid any possible problem related to the new filesystem, I changed the VM-storing partition to EXT3.

To measure guest I/O speed, I timed the Debian 6.0 (x86_64 version) basic system installation. This is the process that, during Debian installation, immediately follow the partitions creation and format phase.

Let me thanks again Red Hat Inc. - and especially Justin Clift – to give me a free RHEL 6 license.

OK – I know that you want to know why on earth KVM I/O was so slow. However, first you had to understand something about caching and preallocation policies.

Comments   

 
#1 lawrence 2012-04-27 00:05
very helpful.

thanks.
 
 
#2 Josh 2012-05-10 15:37
This is a GREAT article. However... splitting it up into 8 pages makes it more annoying to use. I would understand doing this, if you had advertising on each page and wanted to derive advertising revenue. But as it stands I've copied all 8 pages into an OpenOffice document so I can turn it into a PDF and file it with the rest of my "useful blog posts".
 
 
#3 Gionatan Danti 2012-05-10 17:01
Quoting Josh:
This is a GREAT article. However... splitting it up into 8 pages makes it more annoying to use. I would understand doing this, if you had advertising on each page and wanted to derive advertising revenue. But as it stands I've copied all 8 pages into an OpenOffice document so I can turn it into a PDF and file it with the rest of my "useful blog posts".


Hi Josh, you are right: while a single page view would be desiderable, the only manner to cover domain's costs is through advertising.

Feel free to store a your personal copy of the article in whatever format you want.

Regads.
 
 
#4 Morrizor 2012-05-16 18:46
Thanks Gionatan, very useful!
 
 
#5 Arturs 2012-06-03 20:36
Hy, it very helpful!
I tried myself with default server is centos 5.8 x86_64 is installing for long long time, formating image is very long!

But when i tried cache none on full(full size already allocated) image, its running perfect
 
 
#6 Siauhoo 2012-10-06 09:58
It seem that raw images doesn't support preallocation. if so why there is raw + preallocation in this chart ?
 
 
#7 hakl 2013-12-08 14:51
And where was the big tip which you told on first page?
 
 
#8 Gionatan Danti 2013-12-16 17:56
Quoting hakl:
And where was the big tip which you told on first page?


Hi, the tip was to preallocate the QCOW2 backing file (as explained in the article) and to _not_ use the writethrough cache setting.

However, newer KVM/Qemu version (starting with those found in CentOS 6.1) greatly improved the usability of non-preallocate d QCOW2 files.

So, if you take the route to go with QCOW2 and you need thin provision, you can avoid to preallocate the backing file. However, remember to avoid the writethough cache.

Regards.
 

You have no rights to post comments