500 соединений PostgreSQL, 470 простаивают: исправьте это, пока работа системы не замедлилась
PostgreSQL Mechanics
0:00 / 0:00
500 соединений PostgreSQL, 470 простаивают: исправьте это, пока работа системы не замедлилась
1 796 просмотров · 3 месяца назад
PostgreSQL Mechanics
4,54 тыс. подписчиков
1 796 просмотров · 3 месяца назад
Подключения к базе данных PostgreSQL и PgBouncer: как предотвратить «шторм» простаивающих подключений до того, как замедлится работа в производственной среде.
В пиковые периоды трафика такая конфигурация приводит к исчерпанию подключений, замедлению времени отклика, отклонению подключений и таймаутам приложения. Увеличение параметра max_connections часто лишь откладывает проблему, а не решает её.
В этом видео вы узнаете, как работает управление подключениями в PostgreSQL и как PgBouncer сокращает количество клиентских подключений с сотен до контролируемого числа подключений к базе данных.
Пример результата:
500 клиентских подключений — 32 бэкэнда PostgreSQL
Вы узнаете:
• Почему PostgreSQL создает один процесс бэкэнда для каждого подключения
• Как неактивные подключения потребляют память и слоты подключения
• Как найти активные, неактивные и неактивные в транзакции сессии
• Почему увеличение max_connections обычно является неправильным решением
• Как работает пулинг транзакций PgBouncer
• Как выбрать разумный размер пула
• Разница между клиентскими подключениями и бэкэндами PostgreSQL
• Ограничения состояния сессии и подготовленных запросов
• Как проверить результаты с помощью статистики PostgreSQL и PgBouncer
Правильный размер пула зависит от количества ядер ЦП, рабочей нагрузки, длительности запроса, параллелизма и поведения транзакций. Цель состоит в том, чтобы контролировать нагрузку на бэкэнд, сохраняя при этом высокую скорость отклика приложения.
Разделы
00:00 500 соединений, 470 простаивающих
00:35 Почему соединения PostgreSQL обходятся дорого
01:25 Поиск простаивающих сессий
02:15 Почему max_connections не решает проблему
03:10 Как работает PgBouncer
04:15 Объяснение пула транзакций
05:20 Выбор размера пула
06:25 Подготовленные запросы и ловушки состояния сессии
07:30 Проверка результата
08:15 Окончательные правила для производственной среды
Подпишитесь, чтобы получать практические руководства по настройке производительности PostgreSQL, репликации, внутренним механизмам, высокой доступности и администрированию баз данных в производственной среде.
#PostgreSQL #PgBouncer #ConnectionPooling #DatabasePerformance #DBA
Оставьте заголовок:
500 соединений PostgreSQL, 470 простаивающих: Исправьте это, прежде чем производственная среда выйдет из строя
Заголовок, миниатюра и первый абзац теперь рассказывают одну и ту же историю.
Продолжайте изучать PostgreSQL
Связанный плейлист: • PostgreSQL Database Performance Tuning
Начните здесь: • PostgreSQL Database DBA Roadmap | Start Here
Подпишитесь: https://www.youtube.com/@DrIbrarAhmed...
#PostgreSQL #PostgreSQLDBA