Jeff wrote:

On Mar 30, 2010, at 8:15 AM, Stefan Kaltenbrunner wrote:

Peter Eisentraut wrote:
On tis, 2010-03-30 at 08:39 +0200, Stefan Kaltenbrunner wrote:
on fast systems pg_dump is completely CPU bottlenecked
Might be useful to profile why that is.  I don't think pg_dump has
historically been developed with CPU efficiency in mind.

It's not pg_dump that is the problem - it is COPY that is the limit. In my specific case als the fact that a lot of the columns are bytea adds to the horrible CPU overhead (fixed in 9.0). Still our bulk load & unload performance is still way slower on a per core comparision than a lot of other databases :(


Don't forget the zlib compression used in -Fc (unless you use -Z0) takes a fair amount of cpu too. I did some tests and it turned out that -Z0 actually took longer than -Z1 simply because there was a lot more data to write out, thus I became IO bound not CPU bound.

There's a thing called pigz around that is a parallel gzip implementation - wonder how much of that could be adapted to pg_dumps use as compression does use a considerable amount of time (even at -Z1). The biggest problem I can immediately see is that it uses threads.

all my numbers are with -Z0 and it is the backend (COPY and/or index creation) that is the limit. If you start using compression you are shifting the load to pg_dump.


Stefan

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

Reply via email to