On Thu, Mar 16, 2017 at 9:59 AM, David Steele <da...@pgmasters.net> wrote:
> On 1/9/17 11:33 PM, Jon Nelson wrote: > > > > On Sat, Jan 7, 2017 at 7:48 PM, Jim Nasby <jim.na...@bluetreble.com > > <mailto:jim.na...@bluetreble.com>> wrote: > > > > On 1/5/17 12:55 PM, Jonathon Nelson wrote: > > > > Attached please find a patch for PostgreSQL 9.4 which changes the > > maximum amount of data that the wal sender will send at any > point in > > time from the hard-coded value of 128KiB to a user-controllable > > value up > > to 16MiB. It has been primarily tested under 9.4 but there has > > been some > > testing with 9.5. > > > > > > To make sure this doesn't get lost, please add it to > > https://commitfest.postgresql.org > > <https://commitfest.postgresql.org>. Please verify the patch will > > apply against current HEAD and pass make check-world. > > > > > > Attached please find a revision of the patch, changed in the following > ways: > > > > 1. removed a call to debug2. > > 2. applies cleanly against master (as of > > 8c5722948e831c1862a39da2bb5d793a6f2aabab) > > 3. one small indentation fix, one small verbiage fix. > > 4. switched to calculating the upper bound using XLOG_SEG_SIZE rather > > than hard-coding 16384. > > 5. the git author is - obviously - different. > > > > make check-world passes. > > I have added it to the commitfest. > > I have verified with strace that up to 16MB sends are being used. > > I have verified that the GUC properly grumps about values greater than > > XLOG_SEG_SIZE / 1024 or smaller than 4. > > This patch applies cleanly on cccbdde and compiles. However, > documentation in config.sgml is needed. > > The concept is simple enough though there seems to be some argument > about whether or not the patch is necessary. In my experience 128K > should be more than large enough for a chunk size, but I'll buy the > argument that libpq is acting as a barrier in this case. > (as > I'm marking this patch "Waiting on Author" for required documentation. > Thank you for testing and the comments. I have some updates: - I set up a network at home and - in some very quick testing - was unable to observe any obvious performance difference regardless of chunk size - Before I could get any real testing done, one of the machines I was using for testing died and won't even POST, which has put a damper on said testing (as you might imagine). - There is a small issue with the patch: a lower-bound of 4 is not appropriate; it should be XLOG_BLCKSZ / 1024 (I can submit an updated patch if that is appropriate) - I am, at this time, unable to replicate the earlier results however I can't rule them out, either. -- Jon