Re: [PATCH] xlogreader: do not read a file block twice

Поиск
Список
Период
Сортировка
От Grigory Smolkin
Тема Re: [PATCH] xlogreader: do not read a file block twice
Дата
Msg-id 87e30af6-f85a-dc95-4574-95cded028786@postgrespro.ru
обсуждение исходный текст
Ответ на [PATCH] xlogreader: do not read a file block twice  (Arthur Zakirov <a.zakirov@postgrespro.ru>)
Ответы Re: [PATCH] xlogreader: do not read a file block twice  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
Hm, looks like it could speed up PostgreSQL recovery, but is it safe?


On 02/11/2019 07:25 PM, Arthur Zakirov wrote:
> Hello hackers,
>
> Grigory noticed that one of our utilities has very slow performance 
> when xlogreader reads zlib archives. We found out that xlogreader 
> sometimes reads a WAL file block twice.
>
> zlib has slow performance when you read an archive not in sequential 
> order. I think reading a block twice in same position isn't 
> sequential, because gzread() moves current position forward and next 
> call gzseek() to the same position moves it back.
>
> It seems that the attached patch solves the issue. I think when reqLen 
> == state->readLen the requested block already is in the xlogreader's 
> buffer.
>
> What do you think?
>

-- 
Grigory Smolkin
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: libpq compression
Следующее
От: John Naylor
Дата:
Сообщение: Re: WIP: Avoid creation of the free space map for small tables