Re: Using read stream in autoprewarm
Nazir Bilal Yavuz <byavuz81@gmail.com>
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-11-06T14:56:41Z
Lists: pgsql-hackers
Attachments
- v2-0001-Use-read-stream-in-autoprewarm.patch (text/x-patch) patch v2-0001
- v2-0002-Count-free-buffers-at-the-start-of-the-autoprewar.patch (text/x-patch) patch v2-0002
Hi, On Fri, 1 Nov 2024 at 21:06, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > > > On 1 Nov 2024, at 12:51, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote: > > > > am not > > sure whether 'BufferStrategyControl.lastFreeBuffer - > > BufferStrategyControl.firstFreeBuffer' is safe to use. > > Ugh... it will work. But it seems to me too dirty hack. There's no scalable way to know size of a free list. > Let's just comment that we might read some more buffers if database does not fit into memory? > Alternatively we can count size of a free list on the start. I agree that it is too dirty to hack. There is a minor problem with the counting size of a free list on the start. There may be other processes that fill the buffer pool concurrently, so we can still end up doing unnecessary I/Os. That said, I believe this approach remains an improvement. The first patch includes the comment you suggested, and the second patch implements counting size of a free list on the start. -- Regards, Nazir Bilal Yavuz Microsoft
Commits
-
Fix autoprewarm neglect of tablespaces
- 64e7fa43a948 18.0 landed