Как стать автором
Обновить

Мониторим базу PostgreSQL — кто виноват, и что делать

Время на прочтение7 мин
Количество просмотров28K
Всего голосов 23: ↑23 и ↓0+23
Комментарии11

Комментарии 11

где посмотреть темплейты заббикса и код который их отдает? без этого выгладит как статья ради рекламы
Тут нет темплейтов в терминах Zabbix по причинам, описанным в статье про нашу надстройку над ним. Но вы можете взять любой существующий, или даже вовсе не Zabbix — метрики-то типовые.

Но когда вы их увидели, надо понимать, как на них реагировать, куда «копать».
Актуальный официальный шаблон к заббиксу 4.4 это всё мониторит.

Да ладно? Не видел

2 запроса написали, а про остальные умолчали — стало жалко? То есть статья ни о чем, никакой ценности нет.

Кстате, когда пишите запросы, да и статью, указывайте хотя бы под какую версию PostgreSQL Вы все это делаете (тестировали), а то например на 9.4 ваш первый огромный SELECT не будет работать, там нет wait_event_type и wait_event в pg_stat_activity
Нам совсем не жалко — напишите в личку, если какие-то конкретные нужны.

Просто часть запросов version-specific, и приводить все их варианты смысла не очень много, а официальная поддержка 9.4 уже кончилась.
Мне лично запросы не нужны, просто ценность статьи без запросов резко снижается, ИМХО.
Так тут нет rocket science — все выборки и запросы давно написаны, причем не нами, я про это написал в первом же абзаце — мы немного оптимизировали только пару из них.

Спасибо, за статью, очень интересно и полезно. Не подскажите где можно почитать на тему того как понять когда нужно докупать железо, а когда проблема с конфигом. Ну к примеру у нас в приложении 200 server session и 1К transaction per second как понять этого много для нас и мало?

Железо надо покупать тогда, когда вы уперлись в какой-то ресурс (производительность CPU или диска, объем памяти) и не знаете способа, как уменьшить его потребление.

Например, 200 постоянно активных сессий будут хотеть много памяти (каждый коннект - процесс PG). Если у вас это количество выросло с 100 до 200, то и памяти понадобится вдвое.

С другой стороны, можно поставить pgbouncer в transaction mode, что сократит кол-во процессов до кол-ва активных транзакций.

А 1Ktps - не метрика производительности, поскольку они могут делать просто SELECT 1;, а это ниочем

Зарегистрируйтесь на Хабре, чтобы оставить комментарий