Re: increasing the default WAL segment size
Simon Riggs <simon@2ndquadrant.com>
On 2 January 2017 at 21:23, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: > It's not clear from the thread that there is consensus that this feature is desired. In particular, the performance aspects of changing segment size from a C constant to a variable are in question. Someone with access to large hardware should test that. Andres[1] and Robert[2] did suggest that the option could be changed to a bitshift, which IMHO would also solve some sanity-checking issues. Overall, Robert has made a good case. The only discussion now is about the knock-on effects it causes. One concern that has only barely been discussed is the effect of zero-ing new WAL files. That is a linear effect and will adversely effect performance as WAL segment size increases. (The already stated fsync problem is also a linear effect but that reduces with WAL segment size, hence the need for a trade-off and hence why variable-size is preferable). If we wish this feature to get committed ISTM that we should examine server performance with a large fixed WAL segment size, so we can measure the effects of this, particularly with regard to the poor user that gets to add a new WAL file. ISTM that may reveal more work is needed to be handed off to the WALWriter process (or other issues/solutions). Once we have that information we can consider whether to apply this patch, so until then, -1 to apply this, though I am hopeful that this can be applied in this release. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make WAL segment size configurable at initdb time.
- fc49e24fa69a 11.0 landed
-
Perform only one ReadControlFile() during startup.
- 8356753c212a 11.0 landed
-
Introduce BYTES unit for GUCs.
- 6e7baa322773 11.0 landed
-
Remove useless duplicate inclusions of system header files.
- 9e3755ecb2d0 10.0 cited
-
Refactor other replication commands to use DestRemoteSimple.
- bbd8550bce14 10.0 landed
-
Add a SHOW command to the replication command language.
- d1ecd539477f 10.0 landed
-
Add a new DestReceiver for printing tuples without catalog access.
- a84069d93504 10.0 landed
-
Support fls().
- 4f658dc851a7 9.2.0 cited
-
Extend yesterday's patch making BLCKSZ and RELSEG_SIZE configurable to also
- cf9f6c8d8e9d 8.4.0 cited
-
Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to
- c3c09be34b6b 8.0.0 cited
-
XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.
- 47937403676d 7.1.1 cited
-
Transaction log manager core code.
- 30659d43eb73 7.1.1 cited