chemtech
@chemtech
Линуксойд, DevOps

Как вы измеряете профиль нагрузки (соотношение кол-ва чтений/кол-ву записей) в PostgreSQL?

Добрый день!
Как вы измеряете профиль нагрузки (соотношение кол-ва чтений/кол-ву записей) в PostgreSQL?
Можно конечно мониторить только дисковое чтение и запись, но тогда не будет учитываться кеш.
Вы мониторите дисковое чтение и запись и отдельно кол-во запросов в PostgreSQL?
Заранее спасибо
P.S. Про pg_stat_statements я знаю. Но pg_stat_statements не дает кол-во чтений на сервере PostgreSQL, там есть кол-во запросов, но не чтений.

P.S.1 Есть ли какой-нибудь SQL запрос, который показывал суммарное кол-во SELECT на сервер?
Есть ли какой-нибудь SQL запрос, который показывал суммарное кол-во (UPDATE + DELETE) на сервер?

P.S.2
Эта нужная метрика - допустим сейчас все запросы идут на мастер в кластере, можно показать что у нас профиль нагрузки 70% чтение / 30% запись или 80% чтение / 20% запись.
И с помощью перевода SELECT запросов на SLAVE - можно снизить нагрузку на кластер PostgreSQL
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Посмотрите в циферки что собирает stats collector, их много разных. https://www.postgresql.org/docs/10/static/monitori...
например, запись буферов на диски - это buffers_checkpoint, buffers_clean и buffers_backend в pg_stat_bgwriter
pg_stat_database c blks_read, blks_hit, blk_read_time и blk_write_time

И разумеется pg_stat_statements с детализацией ресурсов по отдельным запросам.

Вот кстати, хорошая картинка куда смотреть за детализацией каких подсистем базы
postgres-observability-9.6.png
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Поддерживаю насчёт pg_stat_statements, есть масса способов извлечь оттуда полезную информацию, см. например https://github.com/dataegret/pg-utils
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы