Re: File Systems Compared
decibel <decibel@decibel.org>
From: Jim Nasby <decibel@decibel.org>
To: Bruno Wolff III <bruno@wolff.to>
Cc: Mark Lewis <mark.lewis@mir3.com>, Brian Wipf <brian@clickspace.com>, pgsql-performance@postgresql.org
Date: 2006-12-14T06:39:00Z
Lists: pgsql-performance
On Dec 11, 2006, at 12:54 PM, Bruno Wolff III wrote: > On Wed, Dec 06, 2006 at 08:55:14 -0800, > Mark Lewis <mark.lewis@mir3.com> wrote: >>> Anyone run their RAIDs with disk caches enabled, or is this akin to >>> having fsync off? >> >> Disk write caches are basically always akin to having fsync off. The >> only time a write-cache is (more or less) safe to enable is when >> it is >> backed by a battery or in some other way made non-volatile. >> >> So a RAID controller with a battery-backed write cache can enable its >> own write cache, but can't safely enable the write-caches on the disk >> drives it manages. > > This appears to be changing under Linux. Recent kernels have write > barriers > implemented using cache flush commands (which some drives ignore, > so you > need to be careful). In very recent kernels, software raid using > raid 1 > will also handle write barriers. To get this feature, you are > supposed to > mount ext3 file systems with the barrier=1 option. For other file > systems, > the parameter may need to be different. But would that actually provide a meaningful benefit? When you COMMIT, the WAL data must hit non-volatile storage of some kind, which without a BBU or something similar, means hitting the platter. So I don't see how enabling the disk cache will help, unless of course it's ignoring fsync. Now, I have heard something about drives using their stored rotational energy to flush out the cache... but I tend to suspect urban legend there... -- Jim Nasby jim@nasby.net EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)