For a storage consolidation project we have started to evaluate Windows Storage Server 2012 under KVM. As we need to move several terabytes of data to this VM, it is imperative that we use the highest performing setup, so after installing the VirtIO drivers for storage and networking, we devised a test to check which disk format is the fastest.
Test results: qcow wins big
Contrary to all the information and benchmarks we read, qcow was MUCH faster than raw according to CrystalDiskMark.
Write speeds were comparable, but sequential and 512k reads were roughly ten times (!) faster with qcow.
Random reads are ten to a hundred times faster with qcow.
kvm-win2012-diskperf-4gb.jpg
We have repeated the tests with disks placed on NFS storage, and the results are the same.
There must be some kind of caching involved, but it's not the Windows guest.
Maybe the host is caching qcow but not raw? Anyone have the slightest idea what is happening here?
Hardware
Intel Core 2 Quad Q9300 @3 GHz, 8GB RAM
Adaptec 6805E RAID, 5x320 GB RAID1E (similar to RAID10)
Host
Proxmox VE 1.9, kernel 2.6.32-7-pve, deadline scheduler
Guest
KVM, 1024 MB RAM, 1 socket / 2 cores, Guest type: Windows 2008
Windows Storage Server 2012 Evaluation
1x 40 GB disk (C: system) qcow2, IDE
1x 32 GB disk (W: local-raw) RAW, VirtIO
1x 32 GB disk (X: local-qcow) qcow2, VirtIO
Test results: qcow wins big
Contrary to all the information and benchmarks we read, qcow was MUCH faster than raw according to CrystalDiskMark.
Write speeds were comparable, but sequential and 512k reads were roughly ten times (!) faster with qcow.
Random reads are ten to a hundred times faster with qcow.
kvm-win2012-diskperf-4gb.jpg
We have repeated the tests with disks placed on NFS storage, and the results are the same.
There must be some kind of caching involved, but it's not the Windows guest.
Maybe the host is caching qcow but not raw? Anyone have the slightest idea what is happening here?
Hardware
Intel Core 2 Quad Q9300 @3 GHz, 8GB RAM
Adaptec 6805E RAID, 5x320 GB RAID1E (similar to RAID10)
Host
Proxmox VE 1.9, kernel 2.6.32-7-pve, deadline scheduler
Guest
KVM, 1024 MB RAM, 1 socket / 2 cores, Guest type: Windows 2008
Windows Storage Server 2012 Evaluation
1x 40 GB disk (C: system) qcow2, IDE
1x 32 GB disk (W: local-raw) RAW, VirtIO
1x 32 GB disk (X: local-qcow) qcow2, VirtIO