Re: increasing the default WAL segment size
Simon Riggs <simon@2ndquadrant.com>
On 25 August 2016 at 02:31, Robert Haas <robertmhaas@gmail.com> wrote: > Furthermore, there is an enforced, synchronous fsync at the end of > every segment, which actually does hurt performance on write-heavy > workloads.[2] Of course, if that were the only reason to consider > increasing the segment size, it would probably make more sense to just > try to push that extra fsync into the background, but that's not > really the case. From what I hear, the gigantic number of files is a > bigger pain point. I think we should fully describe the problem before finding a solution. This is too big a change to just tweak a value without discussing the actual issue. And if the problem is as described, how can a change of x4 be enough to make it worth the pain of change? I think you're already admitting it can't be worth it by discussing initdb configuration. If we do have the pain of change, should we also consider making WAL files variable length? What do we gain by having the files all the same size? ISTM better to have WAL files that vary in length up to 1GB in size. (This is all about XLOG_SEG_SIZE; I presume XLOG_BLCKSZ can stay as it is, right?) -- 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