Re: Performance of CLUSTER

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

 



On 11/06/12 14:52, Shaun Thomas wrote:
On 06/11/2012 08:46 AM, Mark Thornton wrote:

500m --- though isn't clear if cluster uses maintenance memory or the
regular work memory. I could readily use a higher value for
maintenance_work_mem.

For an operation like that, having a full GB wouldn't hurt. Though if you haven't already, you might think about pointing
I didn't think the process was using even the 500m it ought to have had available, whereas creating an index did appear to use that much. Note though that I didn't stay up all night watching it!

your pgsql_tmp to /dev/shm for a while, even for just this operation.

Then again, is your CPU at 100% during the entire operation?
No the CPU utilization is quite low. Most of the time is waiting for IO.

If it's not fetching anything from disk or writing out much, reducing IO won't help. :) One deficiency we've had with CLUSTER is that it's a synchronous operation. It does each thing one after the other. So it'll organize the table contents, then it'll reindex each index (including the primary key) one after the other. If you have a lot of those, that can take a while, especially if any composite or complex indexes exist.
In this case there are only two indexes, the gist one and a primary key (on a bigint value).


You might actually be better off running parallel REINDEX commands on the table (I wrote a script for this because we have a 250M row table that each index takes 1-2.5 hours to build). You might also consider pg_reorg, which seems to handle some parts of a table rebuild a little better.

That should give you an escalation pattern, though. :)

Thanks for your help,
Mark Thornton



--
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