Перейти к содержимому

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