Poor performance of btrfs with Postgresql

From: Toby Corkindale <toby(dot)corkindale(at)strategicdata(dot)com(dot)au>
To: luv-main <luv-main(at)luv(dot)asn(dot)au>, pgsql-general(at)postgresql(dot)org
Subject: Poor performance of btrfs with Postgresql
Date: 2011-04-21 06:22:24
Message-ID: 4DAFCD20.4020608@strategicdata.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've done some testing of PostgreSQL on different filesystems, and with
different filesystem mount options.

I found that xfs and ext4 both performed similarly, with ext4 just a few
percent faster; and I found that adjusting the mount options only gave
small improvements, except for the barrier options. (Which come with a
hefty warning)

I also tested btrfs, and was disappointed to see it performed
*dreadfully* - even with the recommended options for database loads.

Best TPS I could get out of ext4 on the test machine was 2392 TPS, but
btrfs gave me just 69! This is appalling performance. (And that was with
nodatacow and noatime set)

I'm curious to know if anyone can spot anything wrong with my testing?
I note that the speed improvement from datacow to nodatacow was only
small - can I be sure it was taking effect? (Although cat /proc/mounts
reported it had)

The details of how I was running the test, and all the results, are here:
http://blog.dryft.net/2011/04/effects-of-filesystems-and-mount.html

I wouldn't run btrfs in production systems at the moment anyway, but I
am curious about the current performance.
(Tested on Ubuntu Server - Maverick - Kernel 2.6.35-28)

Cheers,
Toby

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2011-04-21 06:45:38 Re: how to force an insert before Raise Exception?
Previous Message Phoenix Kiula 2011-04-21 05:16:55 Re: Help - corruption issue?