Re: Single client performance on trivial SELECTs

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Single client performance on trivial SELECTs
Дата
Msg-id 19517.1302811370@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Single client performance on trivial SELECTs  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Single client performance on trivial SELECTs  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-hackers
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> There's one very low-hanging fruit here, though. I profiled the pgbench 
> case, with -M prepared, and found that like in Greg Smith's profile, 
> hash_seq_search pops up quite high in the list. Those calls are coming 
> from LockReleaseAll(), where we scan the local lock hash to find all 
> locks held. We specify the initial size of the local lock hash table as 
> 128, which is unnecessarily large for small queries like this. Reducing 
> it to 8 slashed the time spent in hash_seq_search().

> I think we should make that hash table smaller. It won't buy much, 
> somewhere between 1-5 % in this test case, but it's very easy to do and 
> I don't see much downside, it's a local hash table so it will grow as 
> needed.

8 sounds awfully small.  Can you even get as far as preparing the
statements you intend to use without causing that to grow?

I agree that 128 may be larger than necessary, but I don't think we
should pessimize normal usage to gain a small fraction on trivial
queries.  I'd be happier with something like 16 or 32.
        regards, tom lane


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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: Single client performance on trivial SELECTs
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Single client performance on trivial SELECTs