Re: increasing the default WAL segment size

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, Amit Kapila <amit.kapila16@gmail.com>, Jim Nasby <Jim.Nasby@bluetreble.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Beena Emerson <memissemerson@gmail.com>
Date: 2017-01-04T08:05:15Z
Lists: pgsql-hackers
On 3 January 2017 at 21:33, Robert Haas <robertmhaas@gmail.com> wrote:
> On Tue, Jan 3, 2017 at 3:38 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> On 3 January 2017 at 16:24, Robert Haas <robertmhaas@gmail.com> wrote:
>>> On Jan 3, 2017 at 11:16 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>>>> On 3 January 2017 at 15:44, Robert Haas <robertmhaas@gmail.com> wrote:
>>>>> Yeah.  I don't think there's any way to get around the fact that there
>>>>> will be bigger latency spikes in some cases with larger WAL files.
>>>>
>>>> One way would be for the WALwriter to zerofill new files ahead of
>>>> time, thus avoiding the latency spike.
>>>
>>> Sure, we could do that.  I think it's an independent improvement,
>>> though: it is beneficial with or without this patch.
>>
>> The latency spike problem is exacerbated by increasing file size, so I
>> think if we are allowing people to increase file size in this release
>> then we should fix the knock-on problem it causes in this release
>> also. If we don't fix it as part of this patch I would consider it an
>> open item.
>
> I think I'd like to see some benchmark results before forming an
> opinion on whether that's a must-fix issue.  I'm not sure I believe
> that allowing a larger WAL segment size is going to make things worse
> more than it makes them better.  I think that should be tested, not
> assumed true.

Strange response. Nothing has been assumed. I asked for tests and you
provided measurements.

I suggest we fix just the problem as the fastest way forwards.

-- 
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Make WAL segment size configurable at initdb time.

  2. Perform only one ReadControlFile() during startup.

  3. Introduce BYTES unit for GUCs.

  4. Remove useless duplicate inclusions of system header files.

  5. Refactor other replication commands to use DestRemoteSimple.

  6. Add a SHOW command to the replication command language.

  7. Add a new DestReceiver for printing tuples without catalog access.

  8. Support fls().

  9. Extend yesterday's patch making BLCKSZ and RELSEG_SIZE configurable to also

  10. Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to

  11. XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.

  12. Transaction log manager core code.