Re: Use fadvise in wal replay - Mailing list pgsql-hackers

From Pavel Borisov
Subject Re: Use fadvise in wal replay
Date
Msg-id CALT9ZEEY_1KS9u-Bjx+KjenCVj8W2QKRdL3-maQpQJyFEK1-1A@mail.gmail.com
Whole thread Raw
In response to Re: Use fadvise in wal replay  (Andrey Borodin <x4mmm@yandex-team.ru>)
Responses Re: Use fadvise in wal replay  (Andrey Borodin <x4mmm@yandex-team.ru>)
List pgsql-hackers
> On 21 Jun 2022, at 16:59, Jakub Wartak <jakub.wartak@tomtom.com> wrote:
Oh, wow, your benchmarks show really impressive improvement.

FWIW I was trying to speedup long sequential file reads in Postgres using fadvise hints. I've found no detectable improvements.
Then I've written 1Mb - 1Gb sequential read test with both fadvise POSIX_FADV_WILLNEED and POSIX_FADV_SEQUENTIAL in Linux. The only improvement I've found was 

1. when the size of read was around several Mb and fadvise len also around several Mb. 
2. when before fdavice and the first read there was a delay (which was supposedly used by OS for reading into prefetch buffer)
3. If I read sequential blocks i saw speedup only on first ones. Overall read speed of say 1Gb file remained unchanged no matter what.

I became convinced that if I read something long, OS does necessary speedups automatically (which is also in agreement with fadvise manual/code comments).
Could you please elaborate how have you got the results with that big difference? (Though I don't against fadvise usage, at worst it is expected to be useless).

--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com

pgsql-hackers by date:

Previous
From: Andrey Borodin
Date:
Subject: Re: Use fadvise in wal replay
Next
From: "Imseih (AWS), Sami"
Date:
Subject: Re: [PROPOSAL] Detecting plan changes with plan_id in pg_stat_activity