Re: Batching page logging during B-tree build - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Batching page logging during B-tree build
Date
Msg-id 20200923182940.rcy3lggbzc42jk3h@alap3.anarazel.de
Whole thread Raw
In response to Re: Batching page logging during B-tree build  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: Batching page logging during B-tree build  (Peter Geoghegan <pg@bowt.ie>)
Re: Batching page logging during B-tree build  (Andrey Borodin <x4mmm@yandex-team.ru>)
List pgsql-hackers
Hi,

On 2020-09-23 11:19:18 -0700, Peter Geoghegan wrote:
> On Fri, Sep 18, 2020 at 8:39 AM Andrey M. Borodin <x4mmm@yandex-team.ru> wrote:
> > Here is PoC with porting that same routine to B-tree. It allows to build B-trees ~10% faster on my machine.

I wonder what the effect of logging WAL records as huge as this (~256kb)
is on concurrent sessions. I think it's possible that logging 32 pages
at once would cause latency increases for concurrent OLTP-ish
writes. And that a smaller batch size would reduce that, while still
providing most of the speedup.


> It doesn't seem to make any difference on my machine, which has an
> NVME SSD (a Samsung 970 Pro). This is quite a fast SSD, though the
> sync time isn't exceptional.

Yea, they are surprisingly slow at syncing, somewhat disappointing for
the upper end of the consumer oriented devices.


> BTW, I noticed that the index build is absurdly bottlenecked on
> compressing WAL with wal_compression=on. It's almost 3x slower with
> compression turned on!

Really should replace WAL compression with lz4 (or possibly zstd).

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Batching page logging during B-tree build
Next
From: Peter Geoghegan
Date:
Subject: Re: Batching page logging during B-tree build