Кто-нибудь знает расширение PHP для использования mod_dbd для подключения к базе данных?
Наше приложение должно получить доступ к удаленной базе данных. Это был модуль Apache, использующий mod_dbd для соединений с базой данных, а транзакция занимает около 200 мс. Теперь мы изменили приложение на PHP, и одна и та же транзакция занимает более 600 мс. Мы надеемся, что какой-то пул улучшит производительность.
Мы переключились на использование mysql_pconnect()
но он работает не так хорошо, как mod_dbd.
Я знаю, что вы, вероятно, отказались от ответа, но …
Я думаю, вы обнаружите, что большая часть дополнительного времени – загрузка и компиляция скрипта PHP. если ваше предыдущее приложение было модулем apache, оно предварительно скомпилировано и всегда загружается, возможно, написанное c c очень быстро по сравнению с PHP.
Попробуйте использовать php-ускоритель, например, eaccelerator. который использует разделяемую память и предварительно скомпилированные скрипты, чтобы иногда резко повысить производительность приложений PHP.
ОКРУГ КОЛУМБИЯ
Чтобы воспользоваться функцией объединения пулов в mod_dbd, вам нужно запустить многопоточный MPM, чтобы несколько потоков могли совместно использовать соединения в пуле. К сожалению, я считаю, что PHP не является потокобезопасным и не поддерживает многопоточные MPM.
Если вы используете mod_dbd с pre-fork MPM (который не является потоковым и рекомендуется для PHP), mod_dbd создаст одно постоянное соединение с базой данных, что не даст вам огромного преимущества по сравнению с подключением к базе данных в PHP, не использующим mod_dbd.