<div dir="ltr">Your patch is very helpful, I'm still checking it on different file-systems.<br />I really liked the
ideaof using only the edge checkpoints.<br />Thanks.</div><div class="gmail_extra"><br /><div class="gmail_quote">On
Mon,Jul 11, 2016 at 9:26 PM, Jeff Janes <span dir="ltr"><<a href="mailto:jeff.janes@gmail.com"
target="_blank">jeff.janes@gmail.com</a>></span>wrote:<br /><blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px#ccc solid;padding-left:1ex"><span class="">On Thu, Jul 7, 2016 at 1:01 AM, Netanel Katzburg <<a
href="mailto:netanel10k@gmail.com">netanel10k@gmail.com</a>>wrote:<br /> > Hi All,<br /> ><br /> > As part
ofmy masters at TAU, I'm currently conducting some research<br /> > regarding new persistent memory technology.<br
/>> I'm using PG for this research and would like to better understand some of<br /> > the performance
bottlenecks.<br/> > For this reason I'm trying to disable the WAL completely, using some hacks<br /> > on the
sourcecode and compiling my own version.<br /> ><br /> > So what I'm actually looking for, is some guidance about
asimple way to:<br /> ><br /> > 1. Disable the WAL by not writing anything to the xlog directory. I don't<br />
>care about recovery/fault tolerance or PITR/ replication etc at the moment.<br /> > I'm aware that the WAL and
checkpointare bind in many ways and are crucial<br /> > for PG core features.<br /> > I tried changing the status
ofall tables to "unlogged" tables by changing<br /> > RelationNeedsWAL MACRO, as well as "needs_wal" parameter at
storage.c.<br/> > But, got no performance benefit, so I guess this was the wrong place to<br /> > change.<br />
><br/> > 2. Cancel the locking around WAL files - I don't care about corrupted files<br /> > at the moment, I
justwant to see what is the maximum performance benefit<br /> > that I can get without lock contention.<br />
><br/> > Any guidance on how to do so would be appreciated :)<br /><br /></span>I have a very old patch which
introducesa config variable (JJNOWAL)<br /> that skips all WAL, except for the WAL of certain checkpoints (which<br />
areneeded for initdb and to restart the server after a clean<br /> shutdown).<br /><br /> I have rebased it up to
HEAD. It seems to work, but I haven't tested<br /> thoroughly that it still does the correct thing in every corner
case.<br/> (a lot of changes have been made to xlog code since last time I used<br /> this.)<br /><br /> Obviously if
theserver goes down uncleanly while this setting is<br /> active, it will not be usable anymore.<br /><br /> Cheers,<br
/><br/> Jeff<br /></blockquote></div><br /></div>