On 2015-08-08 20:49:03 +0300, Heikki Linnakangas wrote: > * I think we should drop the "flush" part of this for now. It's not as > clearly beneficial as the sorting part, and adds a great deal more code > complexity. And it's orthogonal to the sorting patch, so we can deal with it > separately.
I don't agree. For one I've seen it cause rather big latency improvements, and we're horrible at that. But more importantly I think the requirements of the flush logic influences how exactly the sorting is done. Splitting them will just make it harder to do the flushing in a not too big patch. > * Is it really necessary to parallelize the I/O among tablespaces? I can see > the point, but I wonder if it makes any difference in practice. Today it's somewhat common to have databases that are bottlenecked on write IO and all those writes being done by the checkpointer. If we suddenly do the writes to individual tablespaces separately and sequentially we'll be bottlenecked on the peak IO of a single tablespace. > * Is there ever any harm in sorting the buffers? The GUC is useful for > benchmarking, but could we leave it out of the final patch? Agreed. > * Do we need to worry about exceeding the 1 GB allocation limit in > AllocateCheckpointBufferIds? It's enough got 2 TB of shared_buffers. That's > a lot, but it's not totally crazy these days that someone might do that. At > the very least, we need to lower the maximum of shared_buffers so that you > can't hit that limit. We can just use the _huge variant? Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers