PostgreSQL benchmarked on XFS vs ZFS vs btrfs vs ext4 - Mailing list pgsql-general

From Toby Corkindale
Subject PostgreSQL benchmarked on XFS vs ZFS vs btrfs vs ext4
Date
Msg-id 4E70003F.9060209@strategicdata.com.au
Whole thread Raw
Responses Re: PostgreSQL benchmarked on XFS vs ZFS vs btrfs vs ext4  (Andy Colson <andy@squeakycode.net>)
Re: PostgreSQL benchmarked on XFS vs ZFS vs btrfs vs ext4  (Tomas Vondra <tv@fuzzy.cz>)
Re: PostgreSQL benchmarked on XFS vs ZFS vs btrfs vs ext4  (Vick Khera <vivek@khera.org>)
List pgsql-general
Hi,
Some months ago, I ran some (probably naive) benchmarks looking at how
pgbench performed on an identical system with differing filesystems. (on
Linux).

Since then the kernel-level version of ZFS became usable, and there have
been improvements to btrfs, and no doubt various updates in the Linux
kernel and PostgreSQL that should help performance.

I ran the tests on Ubuntu 11.04 with Pg 9.0 first, then upgraded the
system to Ubuntu 11.10 (beta) with Pg 9.1 and ran them again.

The latter combination showed a considerable performance improvement
overall - although I didn't investigate to find out whether this was due
to kernel improvements, postgres improvements, or virtio improvements.

The results are measured in transactions-per-second, with higher numbers
being better.

Results:

ext4 (data=writeback,relatime):
     natty: 248
   oneiric: 297

ext4 (data=writeback,relatime,nobarrier):
     natty: didn't test
   oneiric: 1409

XFS (relatime):
     natty: didn't test
   oneiric: 171

btrfs (relatime):
     natty: 61.5
   oneiric: 91

btrfs (relatime,nodatacow):
     natty: didn't test
   oneiric: 128

ZFS (defaults):
     natty: 171
   oneiric: 996


Conclusion:
Last time I ran these tests, xfs and ext4 pulled very similar results,
and both were miles ahead of btrfs. This time around, ext4 has managed
to get a significantly faster result than xfs.

However we have a new contender - ZFS performed *extremely* well on the
latest Ubuntu setup - achieving triple the performance of regular ext4!
I'm not sure how it achieved this, and whether we're losing some kind of
data protection (eg. like the "barrier" options in XFS and ext4).
If ext4 has barriers disabled, it surpasses even ZFSs high score.

Oddly, ZFS performed wildly differently on ubuntu 11.04 vs 11.10b. I
can't explain this. Any ideas?


Cheers,
Toby

pgsql-general by date:

Previous
From: Ondrej Ivanič
Date:
Subject: Re: Query performance help with 'shadow table' approach.
Next
From: Craig Ringer
Date:
Subject: Re: 8.4.4 locked after power failure