Как найти запрос postgresql, который потребляет больше всего ввода / вывода - PullRequest
1 голос
/ 25 сентября 2019

Допустим, у меня есть iotop представление, подобное этому:

I/O top

Как найти SELECT, которыйударяет жесткий диск так сильно здесь?

1 Ответ

2 голосов
/ 25 сентября 2019

Подготовка:

Редактировать postgresql.conf:

  • Добавить pg_stat_statements к shared_preload_libraries и перезапустить PostgreSQL.

  • Set track_io_timing = on.

Теперь дайте рабочей нагрузке немного поработать.

Затем найдите боров ввода-вывода:

SELECT query
FROM pg_stat_statements
ORDER BY blk_read_time + blk_write_time DESC
LIMIT 1;
...