Re: which ext3 fs type should I use for postgresql

From: Craig James <craig_james(at)emolecules(dot)com>
To: Matthew Wakeling <matthew(at)flymine(dot)org>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: which ext3 fs type should I use for postgresql
Date: 2008-05-15 14:57:01
Message-ID: 482C4F3D.6010808@emolecules.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Matthew Wakeling wrote:
> Probably of more use are some of the other settings:
>
> -m reserved-blocks-percentage - this reserves a portion of the filesystem
> that only root can write to. If root has no need for it, you can kill
> this by setting it to zero. The default is for 5% of the disc to be
> wasted.

This is not a good idea. The 5% is NOT reserved for root's use, but rather is to prevent severe file fragmentation. As the disk gets full, the remaining empty spaces tend to be small spaces scattered all over the disk, meaning that even for modest-sized files, the kernel can't allocate contiguous disk blocks. If you reduce this restriction to 0%, you are virtually guaranteed poor performance when you fill up your disk, since those files that are allocated last will be massively fragmented.

Worse, the fragmented files that you create remain fragmented even if you clean up to get back below the 95% mark. If Postgres happened to insert a lot of data on a 99% full file system, those blocks could be spread all over the place, and they'd stay that way forever, even after you cleared some space.

Craig

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Guillaume Cottenceau 2008-05-15 15:08:16 Re: which ext3 fs type should I use for postgresql
Previous Message Tom Lane 2008-05-15 14:52:58 Re: I/O on select count(*)