Re: Tablespaces on a raid configuration

From: Tomas Vondra <tv(at)fuzzy(dot)cz>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Tablespaces on a raid configuration
Date: 2012-03-31 01:32:31
Message-ID: 4F765EAF.3080406@fuzzy.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 30.3.2012 16:53, ktm(at)rice(dot)edu wrote:
> On Fri, Mar 30, 2012 at 02:45:36PM +0000, Campbell, Lance wrote:
>> PostgreSQL 9.0.x
>> When PostgreSQL storage is using a relatively large raid 5 or 6 array is there any value in having your tables distributed across multiple tablespaces if those tablespaces will exists on the same raid array? I understand the value if you were to have the tablespaces on different raid arrays. But what about on the same one?
>>
>>
>> Thanks,
>>
>> Lance Campbell
>> Software Architect
>> Web Services at Public Affairs
>> 217-333-0382
>>
>
> I have seen previous discussions about using different filesystems versus
> a single filesystem and one advantage that multiple tablespaces have is
> that an fsync on one table/tablespace would not block or be blocked by
> an fsync on a different table/tablespace at the OS level.

No. What matters is a physical device. If you have a drive that can do
just 120 seeks/fsyncs per second (or more, depends on the speed), then
even if you divide that into multiple filesystems you're still stuck
with the total of 120 seeks. I.e. splitting that into 10 partitions
won't give you 1200 seeks ...

OP mentions he's using RAID-5 or 6 - that's pretty bad because it
effectively creates one huge device. Splitting this into filesystem will
behave rather bad, because all the drives are rather tightly coupled
because of to the parity.

If you can create the filesystems on different devices, then you're
golden and this can really help.

And it's not just about fsync operations - WAL is written in sequential
manner. By placing it on the same device as data files you're
effectively forcing it to be written randomly, because the the database
has to write a WAL record, seeks somewhere else to read something, etc.

Tomas

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Aidan Van Dyk 2012-03-31 13:42:49 Re: Tablespaces on a raid configuration
Previous Message Tomas Vondra 2012-03-31 01:21:33 Re: database slowdown while a lot of inserts occur