
В этой статье я расскажу о способах оптимизации производительности СУБД PostgreSQL, на базе которой работает Zabbix.
Для начала разберемся с процессами Zabbix, которые прямо или косвенно утилизируют БД. В процессе исследования вопроса выяснился один любопытный факт. Оказывается, был такой ZBXNEXT-782, который зарейзил сам Алексей Владышев (напомню, что это автор Zabbix и основатель одноименной компании) аж в 2011 году. В рамках этого реквеста в версии Zabbix 5.4 были наконец-то устранены подключения поллеров к БД. То есть раньше каждый поллер имел собственное подключение к БД для апдейта статуса элементов данных и хостов. Поллеры отвечают за сбор данных. Таким образом, каждый такой поллер, работающий на Zabbix Server занимал одно соединение к БД.
Максимально допустимое число этих поллеров — 1000 штук. Несложно представить к чему это приводило. Выход — использование прокси. В крупных инсталляциях так обычно и поступают. Под катом разберемся с переменными конфигураций Zabbix и PostgreSQL, которые могут помочь повысить производительность системы мониторинга. Погнали!