On 2016-05-14 18:49:27 +0200, Fabien COELHO wrote:
>
> Hello,
>
> > Please find the results for the following 3 scenarios with unpatched master:
> >
> > 1. Default settings for *_flush_after : TPS = *10677.662356*
> > 2. backend_flush_after=0, rest defaults : TPS = *18452.655936*
> > 3. backend_flush_after=0, bgwriter_flush_after=0,
> > wal_writer_flush_after=0, checkpoint_flush_after=0 : TPS = *18614.479962*
>
> Thanks for these runs.
Yes!
> These raw tps suggest that {backend,bgwriter}_flush_after should better be
> zero for this kind of load.Whether it should be the default is unclear yet,
> because as Andres pointed out this is one kind of load.
FWIW, I don't think {backend,bgwriter} are the same here. It's primarily
backend that matters. This is treating the os page cache as an
extension of postgres' buffer cache. That really primarily matters for
backend_, because otherwise backends spend time waiting for IO.
Andres