• Andres Freund's avatar
    Change default of backend_flush_after GUC to 0 (disabled). · 4bc0f165
    Andres Freund authored
    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 428b1d6b 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
    4bc0f165
postgresql.conf.sample 22.1 KB