On Tue, 10 Mar 2009, henk de wit wrote:
> It is frequently said that for PostgreSQL the number 1 thing to pay
> attention to when increasing performance is the amount of IOPS a storage
> system is capable of. Now I wonder if there is any situation in which
> sequential IO performance comes into play. E.g. perhaps during a
> tablescan on a non-fragmented table, or during a backup or restore?
Yes, up to a point. That point is when a single CPU can no longer handle
the sequential transfer rate. Yes, there are some parallel restore
possibilities which will get you further. Generally it only takes a few
discs to max out a single CPU though.
> The reason I'm asking is that we're building a storage array and for
> some reason are unable to increase the number of random IOPS beyond a
> certain threshold when we add more controllers or more (SSD) disks to
> the system. However, the sequential performance keeps increasing when we
> do that.
Are you sure you're measuring the maximum IOPS, rather than measuring the
IOPS capable in a single thread? The advantage of having more discs is
that you can perform more operations in parallel, so if you have lots of
simultaneous requests they can be spread over the disc array.
[About NP-completeness] These are the problems that make efficient use of
the Fairy Godmother. -- Computer Science Lecturer