При старте приложение открывает N соединений. Каждый запрос берёт соединение из пула, использует и возвращает обратно. Если все соединения заняты — запрос ждёт или получает ошибку timeout.
PHP-FPM + MySQL: каждый воркер имеет свой пул. Для централизованного пулинга между воркерами используют PgBouncer (PostgreSQL) или ProxySQL (MySQL).