Постоянные соединения - это не что иное, как пул соединений. Постоянное соединение в php будет использоваться повторно только в том случае, если вы создадите несколько соединений с БД в одном контексте выполнения запроса / скрипта. В большинстве типичных сценариев веб-разработки вы максимально увеличите количество подключений, если будете использовать mysql_pconnect, потому что ваш скрипт не сможет получить ссылку на какие-либо открытые подключения по вашему следующему запросу. Лучший способ использовать соединения db в php - создать одноэлементный экземпляр объекта db, чтобы соединение использовалось повторно в контексте выполнения вашего скрипта. Это по-прежнему требует, по крайней мере, 1 дБ соединения за запрос, но это лучше, чем создание нескольких дБ соединений за запрос.
Нет реального пула соединений с БД в php из-за природы php. Php - это не сервер приложений, который может сидеть между запросами и управлять ссылками на пул открытых соединений, по крайней мере, без какого-либо серьезного взлома. Я думаю, что теоретически вы могли бы написать сервер приложений на php и запустить его в виде сценария командной строки, который просто сидел бы в фоновом режиме и оставлял открытыми кучу соединений db и передавал ссылки на них другим вашим скриптам, но я не Я знаю, будет ли это возможно на практике, как вы передадите ссылки из вашего сценария командной строки в другие сценарии, и я сомневаюсь, что он будет работать хорошо, даже если вы сможете его выполнить. Во всяком случае, это в основном спекуляция. Я только что заметил ссылку, которую кто-то опубликовал на модуль apache, чтобы разрешить пул соединений для серверов prefork, таких как php. Выглядит интересно:
https://github.com/junamai2000/mod_namy_pool#readme