Benchmark: ext4 vs. ZFS (Disk-IO und MySQL-Performance)

Benchmark: ext4 vs. ZFS (Disk-IO und MySQL-Performance)

Wir haben das Linux-Standard-Dateisystem ext4 sowie ZFS (natives ZFS for Linux, nicht ZFS-FUSE, welches langsamer als ZFS for Linux sein sollte) in einem Benchmark mit dem Tool sysbench antreten lassen, um sowohl die Disk-IO-Performance als auch die MySQL-Performance zumessen.

Versuchsaufbau: Wir haben jeweils ein identisches Ubuntu 12.10 x86_64-Server-System mit 1GB RAM herangezogen (genauer gesagt, eine VirtualBox-VM, die immer auf demselben Host-System ausgeführt wurde), das nur eine einzige große /-Partition benutzt, einmal mit ext4, einmal mit ZFS. Auf diesem System waren jeweils nur MySQL (Pakete: mysql-server und mysql-client in Version 5.5.28-0ubuntu0.12.10.1) sowie sysbench installiert.

Zur Messung der Disk-IO-Performance haben wir 15GB Testdaten mit folgendem Befehl erzeugt:

sysbench --test=fileio --file-total-size=15G prepare

Die Disk-IO-Performance wurde dann mit folgendem Befehl gemessen:

sysbench --test=fileio --file-total-size=15G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run

Zur Messung der MySQL-Performance haben wir 1.000.000 Testdatensätze angelegt...

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword prepare

... und die Performance dann mit diesem Befehl gemessen (wobei wir erst den dritten Testlauf gemessen haben, damit sich MySQL aufwärmen konnte - Caches, etc.; allerdings haben sich zwischen den Testläufen keine signifikanten Unterschiede ergeben):

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

Ergebnisse Disk-IO-Performance:

Eindeutiger Sieger: ext4!

ext4 ZFS
Operationen 1.413.085 512.554
Transferrate 32.281Mb/sec 11.709Mb/sec

Ergebnisse MySQL-Performance:

Auch bei der MySQL-Performance behält ext4 eindeutig die Oberhand gegen ZFS:

ext4 ZFS
Transaktionen 715.56 per sec. 629.50 per sec.

Nach oben