>From: pgsql-performance-ow...@postgresql.org 
>[mailto:pgsql-performance-ow...@postgresql.org] On Behalf Of Samuel Gendler
>Sent: Thursday, October 27, 2011 12:47 PM
>To: pgsql-performance@postgresql.org
>Subject: [PERFORM] backups blocking everything
>
>I've got a large mixed-used database, with the data warehouse side of things 
>consisting of several tables at hundreds of millions of rows, plus a number of 
>tables with tens of >millions.  There is partitioning, but as the volume of 
>data has risen, individual partitions have gotten quite large.  Hardware is 
>2x4 core 2.0Ghz Xeon processors, 176GB of RAM, 4 drives in >raid 10 for WAL 
>logs and 16 or 20 spindles for data, also in RAID 10.  Total database size is 
>currently 399GB - via pg_database_size().  It's also worth noting that we 
>switched from 8.4 to >9.0.4 only about a month ago, and we were not seeing 
>this problem on 8.4.x.  The database is growing, but not at some kind of 
>exponential rate. full backup, compressed, on the old hardware >was 6.3GB and 
>took about 1:45:00 to be written.  Recent backups are 8.3GB and taking 3 or 4 
>hours.  We were not seeing al queries stall out during the backups on 8.4, so 
>far as I am aware.
>
>The time it takes for pg_dump to run has grown from 1 hour to 3 and even 4 
>hours over the last 6 months, with more than half of that increase occurring 
>since we upgrade to 9.0.x.  In the >last several weeks (possibly since the 
>upgrade to 9.0.4), we are seeing all connections getting used up (our main 
>apps use connection pools, but monitoring and some utilities are making 
>>direct connections for each query, and some of them don't check for the prior 
>query to complete before sending another, which slowly eats up available 
>connections).  Even the connection >pool apps cease functioning during the 
>backup, however, as all of the connections wind up in parse waiting state.  I 
>also see lots of sockets in close wait state for what seems to be an 
>>indefinite period while the backup is running and all connections are used 
>up.  I assume all of this is the result of pg_dump starting a transaction or 
>otherwise blocking other access.  I >can get everything using a pool, that's 
>not a huge problem to solve, but that won't fix the fundamental problem of no 
>queries being able to finish while the backup is happening.

What is the I/O utilization like during the dump?  I've seen this situation in 
the past and it was caused be excessively bloated tables causing I/O starvation 
while they are getting dumped.

Brad. 

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

Reply via email to