Re: Performance degradation of REFRESH MATERIALIZED VIEW

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: Performance degradation of REFRESH MATERIALIZED VIEW
Дата
Msg-id 3c6e1b84-0547-ee55-8800-1dd8227b09b6@enterprisedb.com
обсуждение исходный текст
Ответ на Re: Performance degradation of REFRESH MATERIALIZED VIEW  (Andres Freund <andres@anarazel.de>)
Ответы Re: Performance degradation of REFRESH MATERIALIZED VIEW  (Masahiko Sawada <sawada.mshk@gmail.com>)
Список pgsql-hackers
On 5/21/21 6:43 PM, Andres Freund wrote:
> Hi,
>
 > ...
 >
>> Attached are the flame graphs for all three cases. The change in master is
>> pretty clearly visible, but I don't see any clear difference between old and
>> patched code :-(
> 
> I'm pretty sure it's the additional WAL records?
> 

Not sure. If I understand what you suggested elsewhere in the thread, it 
should be fine to modify heap_insert to pass the page recptr to 
visibilitymap_set, roughly per the attached patch.

I'm not sure it's correct, but it does eliminate the Heap2/VISIBILITY 
records for me (when applied on top of your patch). Funnily enough it 
does make it a wee bit slower:

patch #1: 56941.505
patch #2: 58099.788

I wonder if this might be due to -fno-omit-frame-pointer, though, as 
without it I get these timings:

0c7d3bb99: 25540.417
master:    31868.236
patch #1:  26566.199
patch #2:  26487.943

So without the frame pointers there's no slowdown, but there's no clear 
improvement after removal of the WAL records either :-(


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Вложения

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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Race condition in recovery?
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: compute_query_id and pg_stat_statements