Re: What exactly is postgres doing during INSERT/UPDATE ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Aug 29, 2009 at 5:20 AM, Luke Koops<luke.koops@xxxxxxxxxxx> wrote:
> Joseph S Wrote
>> If I have 14 drives in a RAID 10 to split between data tables
>> and indexes what would be the best way to allocate the drives
>> for performance?
>
> RAID-5 can be much faster than RAID-10 for random reads and writes.  It is much slower than RAID-10 for sequential writes, but about the same for sequential reads.  For typical access patterns, I would put the data and indexes on RAID-5 unless you expect there to be lots of sequential scans.

That's pretty much exactly backwards. RAID-5 will at best slightly
slower than RAID-0 or RAID-10 for sequential reads or random reads.
For sequential writes it performs *terribly*, especially for random
writes. The only write pattern where it performs ok sometimes is
sequential writes of large chunks.

> Always put the transaction logs (WAL Files) on RAID-10 (or RAID-1 if you don't want to dedicate so many drives to the logs).  The only significant performance difference between RAID-10 and RAID-1 is that RAID-1 is much slower (factor of 4 or 5) for random reads.

no, RAID-10 and RAID-1 should perform the same for reads. RAID-10 will
be slower at writes by about a factor equal to the number of mirror
sides.

> I think the ratio of random reads from the transaction logs would typically be quite low.

During normal operation the logs are *never* read, neither randomly
nor sequentially.

> You don't want your transaction logs or any swapfiles on RAID-5.  The slow sequential write performance can be a killer.

As i mentioned sequential writes are the only write case when RAID-5
sometimes ok. However the picture is complicated by transaction
syncing which would make RAID-5 see it more as random i/o. In any case
wal normally doesn't take much disk space so there's not much reason
to use anything but RAID-1.

-- 
greg
http://mit.edu/~gsstark/resume.pdf

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux