Gregory Stark <[EMAIL PROTECTED]> writes:
> Heikki Linnakangas <[EMAIL PROTECTED]> writes:
>> I'm still struggling to understand why and how bgwriter increases 
>> performance.
>> Under what circumstances, what workload?
>> 
>> The only benefit I can see is that it moves the write() of a page out of the
>> critical path. But as long as the OS cache can absorb the write, it should be
>> very cheap compared to doing real I/O. 

> Well you can't keep writing indefinitely faster than the i/o subsystem can
> execute the writes. Eventually the kernel will block your write until a kernel
> buffer becomes free. Ie, throttle your writes to the actual write bandwidth
> available.

Right.  Also, a buffer write isn't "merely" a kernel call --- for
instance, you might have to flush some more WAL before you can execute
the write, and there are cases where you'd have to fsync the write
yourself (ie, if you can't pass it off to the bgwriter).  The more of
that we can take out of foreground query paths, the better.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to