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