pgsql: Add wait event for pg_usleep() in perform_spin_delay()

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: Add wait event for pg_usleep() in perform_spin_delay()
Дата
Msg-id E1oxL4q-000JGS-GU@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Add wait event for pg_usleep() in perform_spin_delay()

The lwlock wait queue scalability issue fixed in a4adc31f690 was quite hard to
find because of the exponential backoff and because we adjust spins_per_delay
over time within a backend.

To make it easier to find similar issues in the future, add a wait event for
the pg_usleep() in perform_spin_delay(). Showing a wait event while spinning
without sleeping would increase the overhead of spinlocks, which we do not
want.

We may at some later point want to have more granular wait events, but that'd
be a substantial amount of work. This provides at least some insights into
something currently hard to observe.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com>
https://postgr.es/m/20221120204310.xywrhyxyytsajuuq@awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/92daeca45df6551dd85f92f7369eaa57a35fb8a9

Modified Files
--------------
doc/src/sgml/monitoring.sgml            |  4 ++++
src/backend/storage/lmgr/s_lock.c       | 11 +++++++++++
src/backend/utils/activity/wait_event.c |  3 +++
src/include/utils/wait_event.h          |  1 +
4 files changed, 19 insertions(+)


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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: pgsql: doc: Fix description of pg_stat_all_tables.n_tup_upd
Следующее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Ignore invalidated slots while computing oldest catalog Xmin