Re: increasing the default WAL segment size
Tomas Vondra <tomas.vondra@2ndquadrant.com>
On 12/20/2016 02:19 PM, Andres Freund wrote: > On 2016-12-20 08:10:29 -0500, Robert Haas wrote: >> We could use the GUC assign hook to compute a mask and a shift, so >> that this could be written as (CurrPos & mask_variable) == 0. That >> would avoid the division instruction, though not the memory access. > > I suspect that'd be fine. > > >> I hope this is all in the noise, though. > > Could very well be. > > >> I know this is code is hot but I think it'll be hard to construct a >> test case where the bottleneck is anything other than the speed at >> which the disk can absorb bytes. > > I don't think that's really true. Heikki's WAL changes made a *BIG* > difference. And pretty small changes in xlog.c can make noticeable > throughput differences both in single and multi-threaded > workloads. E.g. witnessed by the fact that the crc computation used to > be a major bottleneck (and the crc32c instruction still shows up > noticeably in profiles). SSDs have become fast enough that it's > increasingly hard to saturate them. > It's not just SSDs. RAID controllers with write cache (which is typically just DRR3 memory anyway) have about the same effect even with spinning rust. So yes, this might make a measurable difference. -- Tomas Vondra 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