On May 17, 2015, at 11:04 AM, Amit Kapila <amit.kapil...@gmail.com> wrote:
> On Sun, May 17, 2015 at 7:45 AM, Robert Haas <robertmh...@gmail.com> wrote:
> >
> > <crazy-idea>I wonder if we could write WAL to two different files in
> > alternation, so that we could be writing to one file which fsync-ing
> > the other.</crazy-idea>
> 
> Won't the order of transactions replay during recovery can cause
> problems if we do alternation while writing.  I think this is one of
> the reasons WAL is written sequentially.  Another thing is that during
> recovery, currently whenever we encounter mismatch in stored CRC
> and actual record CRC, we call it end of recovery, but with writing
> to 2 files simultaneously we might need to rethink that rule.

Well, yeah. That's why I said it was a crazy idea.

> I think first point in your mail related to rewrite of 8K block each
> time needs more thought and may be some experimentation to
> check whether writing in lesser units based on OS page size or
> sector size leads to any meaningful gains.  Another thing is that
> if there is high write activity, then group commits should help in
> reducing IO for repeated writes and in the tests we can try by changing
> commit_delay to see if that can help (if the tests are already tuned
> with respect to commit_delay, then ignore this point).

I am under the impression that using commit_delay usefully is pretty hard but, 
of course, I could be wrong.

...Robert

Reply via email to