postgresql/src/backend
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
..
access Improve the situation for parallel query versus temp relations. 2016-06-09 20:16:11 -04:00
bootstrap Revert CREATE INDEX ... INCLUDING ... 2016-04-08 21:52:13 +03:00
catalog Rename local variable for consistency. 2016-06-10 11:24:01 -05:00
commands pgindent run for 9.6 2016-06-09 18:02:36 -04:00
executor pgindent run for 9.6 2016-06-09 18:02:36 -04:00
foreign Fix whitespace 2016-04-11 14:44:51 -04:00
lib Remove mergeHyperLogLog. 2016-04-27 10:55:32 -04:00
libpq pgindent run for 9.6 2016-06-09 18:02:36 -04:00
main Repair a bit of pgindent damage. 2016-06-09 18:09:17 -04:00
nodes Remove reltarget_has_non_vars flag. 2016-06-10 16:20:03 -04:00
optimizer Remove reltarget_has_non_vars flag. 2016-06-10 16:20:03 -04:00
parser pgindent run for 9.6 2016-06-09 18:02:36 -04:00
po Translation updates 2016-05-09 10:04:41 -04:00
port pgindent run for 9.6 2016-06-09 18:02:36 -04:00
postmaster pgindent run for 9.6 2016-06-09 18:02:36 -04:00
regex
replication pgindent run for 9.6 2016-06-09 18:02:36 -04:00
rewrite pgindent run for 9.6 2016-06-09 18:02:36 -04:00
snowball
storage Fix interaction between CREATE INDEX and "snapshot too old". 2016-06-10 09:25:31 -05:00
tcop Stop the executor if no more tuples can be sent from worker to leader. 2016-06-06 14:52:58 -04:00
tsearch pgindent run for 9.6 2016-06-09 18:02:36 -04:00
utils Change default of backend_flush_after GUC to 0 (disabled). 2016-06-10 15:31:11 -07:00
.gitignore
common.mk
Makefile Support multiple synchronous standby servers. 2016-04-06 17:18:25 +09:00
nls.mk