Проблема заключается не в использовании SID (хотя вы все равно должны это изменить, поскольку вы потенциально можете потерять часть встроенной функциональности), а в том, что вы используете oci_connect()
. Вместо этого используйте oci_pconnect()
. Это предположение, поскольку вы пропустили указание контрольного примера.
NUM_HITS
- это «Общее количество запросов клиентов, совпадающих с пулами серверов и сессий в пуле», но oci_connect()
должен воссоздать сеанс, поэтому он не даст «хит». См. Таблицу 11 на стр. 261 The Underground PHP и Oracle Manual , в которой говорится, что oci_connect()
«Получает объединенный в пул сервер из пула DRCP и создает новый сеанс». Вы получите некоторые преимущества от повторного использования сервера в составе пула, но не все преимущества, которые может дать oci_pconnect()
.
Однако вы должны сделать шаг назад и действительно пересмотреть, зачем вам DRCP. Если вы еще не используете oci_pconnect()
, то ваши PHP вызовы соединения будут медленными. Перейдите на использование oci_pconnect()
. После этого вы сможете уменьшить количество необходимых Apache процессов, что уменьшит количество одновременных подключений. Реализуйте другие лучшие практики, такие как использование переменных связывания. Только если у вашего хоста базы данных недостаточно памяти для одновременной обработки всех открытых соединений, вы можете перейти к использованию общих серверов или DRCP. DRCP - это решение для пула, поэтому есть некоторые накладные расходы (и небольшое количество дополнительного администрирования).