Testbed and methods
When benchmarking filesystems through virtual guest instances, extreme care should be put to avoid to benchmark the wrong thing (eg: host-side pagecache vs real disk access speed). In order to put a focus on filesystem speed and less of them on hypervisor-specific configuration, I kept KVM guest machine configuration very simple, with:
- a 32 GB thin (not-preallocated) QCOW2 virtual HD image file
- IDE controller with cache policy set to none
- 2048 MB guest RAM
- Windows 7 x64 as guest OS
- all other things were kept at default settings.
The host system was a Dell D620 laptop. While I understand that this is not your typical virtualizer platform, remember that we are testing filesystems performance here, not hardware by itself. The detailed host specifications are:
- Core2 T7200 CPU @ 2.0 GHz
- 4 GB of DDR2-667 RAM
- Quadro NVS110 videocard (used in text-only mode)
- a Seagate ST980825AS 7200 RPM 80 GB SATA hard disk drive (in IDE compatibility mode, as the D620's BIOS does not support AHCI operation)
- O.S. Fedora 17 amd64 with kernel version 3.4.0-1.fc17.x86_64
The internal hard disk was partitioned into three slices: a first ~9 GB ext4 partition for the root directory, a second ~4 GB partition for the swap file and a third ~60 GB partition (mounted on /opt) for testing purposes (HD images were kept here).
Guest performances were measured by different means:
- Windows 7 (first-phase) install time
- Random read / write speed both with low and high queue dept
- Sequential read / write speed both with low and high queue dept
Random / Sequential speed where measured using the latest IOMeter stable build (2006.07.27).
Please note that this is only a first journey into benchmarking filesystems performances related to virtual machine consolidation. I hope to do better tests in the future. Obviously, if you have any idea, let me know it!