BTRFS, mount options and virtual machines: an in-depth look

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 13
PoorBest 

Testbed and methods

When benchmarking filesystems through virtual guest instances, extreme care should be put to avoid  benchmarking the wrong thing (eg: host-side pagecache vs real disk access speed). In order to put a focus on filesystem speed and less on hypervisor-specific configuration, I kept KVM guest machine configuration very simple, with:

  • a 32 GB RAW virtual HD image file, with and without block prealloaction (fallocate)
  • IDE controller with cache policy set to none or writeback (see below)
  • 2048 MB guest RAM
  • Windows 7 x64 as guest OS
  • all other things were kept at default settings.

A note about the cache settings: as it seems that BTRFS is especially bad with direct (non-cached) access, I run some test with cache=writeback also.

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.5.4-2.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). To see as BTRFS's CoW behavior affects performance, I mounted it with and without the “nodatacow” option.

Guest performances were measured by different means:

  • Windows 7 (first-phase) install time
  • Random read / write speed
  • Sequential read / write speed

Random / Sequential speed where measured using the latest IOMeter stable build (2006.07.27).

Comments   

 
#1 CSRedRat 2013-11-13 16:32
Btrfs is great!
 

You have no rights to post comments