postgresql/src/include/storage
Andres Freund 4bc0f165cb Change default of backend_flush_after GUC to 0 (disabled).
While beneficial, both for throughput and average/worst case latency, in
a significant number of workloads, there are other workloads in which
backend_flush_after can cause significant performance regressions in
comparison to < 9.6 releases. The regression is most likely when the hot
data set is bigger than shared buffers, but significantly smaller than
the operating system's page cache.

I personally think that the benefit of enabling backend flush control is
considerably bigger than the potential downsides, but a fair argument
can be made that not regressing is more important than improving
performance/latency. As the latter is the consensus, change the default
to 0.

The other settings introduced in 428b1d6b2 do not have the same
potential for regressions, so leave them enabled.

Benchmarks leading up to changing the default have been performed by
Mithun Cy, Ashutosh Sharma and Robert Haas.

Discussion: CAD__OuhPmc6XH=wYRm_+Q657yQE88DakN4=Ybh2oveFasHkoeA@mail.gmail.com
2016-06-10 15:31:11 -07:00
..
.gitignore When trace_lwlocks is used, identify individual lwlocks by name. 2015-09-11 14:01:39 -04:00
backendid.h Improve the situation for parallel query versus temp relations. 2016-06-09 20:16:11 -04:00
barrier.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
block.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
buf.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
buf_internals.h Move memory barrier in UnlockBufHdr to before releasing the lock. 2016-05-30 15:35:53 -07:00
buffile.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
bufmgr.h Change default of backend_flush_after GUC to 0 (disabled). 2016-06-10 15:31:11 -07:00
bufpage.h Fix PageAddItem BRIN bug 2016-05-30 14:47:22 -04:00
checksum.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
checksum_impl.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
copydir.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
dsm.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
dsm_impl.h Fix typo 2016-04-29 16:15:07 +02:00
fd.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
freespace.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
fsm_internals.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
indexfsm.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
ipc.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
item.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
itemid.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
itemptr.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
large_object.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
latch.h Introduce WaitEventSet API. 2016-03-21 12:22:54 +01:00
lmgr.h Extend relations multiple blocks at a time to improve scalability. 2016-04-08 02:04:46 -04:00
lock.h Extend relations multiple blocks at a time to improve scalability. 2016-04-08 02:04:46 -04:00
lockdefs.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
lwlock.h Avoid the use of a separate spinlock to protect a LWLock's wait queue. 2016-04-10 20:12:32 -07:00
off.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_sema.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_shmem.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pmsignal.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pos.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
predicate.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
predicate_internals.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
proc.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
procarray.h Create a function to reliably identify which sessions block which others. 2016-02-22 14:31:43 -05:00
procsignal.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
reinit.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
relfilenode.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
s_lock.h Make init_spin_delay() C89 compliant #2. 2016-04-14 19:26:13 -07:00
shm_mq.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
shm_toc.h Fix typos. 2016-03-15 18:06:11 -04:00
shmem.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
sinval.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
sinvaladt.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
smgr.h Widen amount-to-flush arguments of FileWriteback and callers. 2016-04-13 18:12:06 -04:00
spin.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
standby.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
standbydefs.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00