Re: Parallel heap vacuum
От | Andres Freund |
---|---|
Тема | Re: Parallel heap vacuum |
Дата | |
Msg-id | mq4isft7f27hybss4m5qbnjqtqymgg5f4mkjm4xxfvzpzhabye@3xanajrjgyfx обсуждение исходный текст |
Ответ на | Re: Parallel heap vacuum (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: Parallel heap vacuum
|
Список | pgsql-hackers |
Hi, On 2025-03-23 01:45:35 -0700, Masahiko Sawada wrote: > Another idea is that parallel workers don't exit phase 1 until it > consumes all pinned buffers in the queue, even if the memory usage of > TidStore exceeds the limit. Yes, that seems a quite reasonable approach to me. > It would need to add new functionality to the read stream to disable the > look-ahead reading. Couldn't your next block callback simply return InvalidBlockNumber once close to the memory limit? > Since we could use much memory while processing these buffers, exceeding the > memory limit, we can trigger this mode when the memory usage of TidStore > reaches 70% of the limit or so. It wouldn't be that much memory, would it? A few 10s-100s of buffers don't increase the size of a TidStore that much? Using 10 parallel vacuum with a m_w_m of 1MB doesn't make sense, we'd constantly start/stop workers. > On the other hand, it means that we would not use the streaming read for the > blocks in this mode, which is not efficient. I don't follow - why wouldn't you be using streaming read? Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: