PostgreSQL и pconnect

Марат

Новичок
PostgreSQL и pconnect

Здравствуйте!

Решил перейти с MySQL на PostgreSQL
При обычном pg_connect время на соединение с базой 0.025 сек.
При pg_pconnect время 0.001 сек
В MySQL при обычном соединении (mysql_connect) соединение происходит за 0.003 сек.

Так как в проекте нужно использовать PostgreSQL и 0.025 сек это очень долго для соединения... Если я буду на нагруженном проекте использовать pconnect какие подводные камни могут встретиться?
В документации написано только то, что при блокировке таблицы будут проблемы.
Будут ли проблемы при большом количестве показов страниц?

Так же интересует вопрос.. Если на сервере произойдёт внеплановое выключение электропитания.. Не повредится ли база при pconnect?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Марат
Если я буду на нагруженном проекте использовать pconnect какие подводные камни могут встретиться?
Основной подводный камень --- кол-во процессов PostgreSQL в памяти будет равно кол-ву процессов веб-сервера.

Рекомендуется использовать пул соединений, наиболее известен скайповский pgbouncer
 

Марат

Новичок
Автор оригинала: Sad Spirit
Основной подводный камень --- кол-во процессов PostgreSQL в памяти будет равно кол-ву процессов веб-сервера.
Что-то я о процессах веб-сервера не подумал.. На винде тестил..
То есть когда процесс веб-сервера закончит работу.. тогда и pconnect выключится?
А смысл? Он живёт 15 секунд, вроде.. За это время пользователь не успеет просмотреть много страниц (в лучшем случае, если он две страницы увидит)
А как тогда можно сократить время соединения с PostgreSQL?

-~{}~ 25.04.09 00:10:

Извините, не сразу сообразил..
Если ставить pgbouncer, то он держит постоянные соединения с базой, а php уже к нему коннектится..
Будет ли выигрыш во времени соединения?
я просто сейчас на unix машине протестировать не могу :(
 

weregod

unserializer
в общем случае у разных ОС разные узкие места, так что если известна платформа продакшена, лучше проводить замеры на ней
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Марат
А смысл? Он живёт 15 секунд, вроде..
Ваще-то, сколько настроишь, столько и живёт.

Если ставить pgbouncer, то он держит постоянные соединения с базой, а php уже к нему коннектится..
Будет ли выигрыш во времени соединения?
я просто сейчас на unix машине протестировать не могу :(
Выигрыш будет, конечно. Но верить мне на слово не надо, как отметил предыдущий оратор, надо протестировать.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
только надо делать очистку мусора - временные таблицы, глобальные переменные в plperl, незакрытые транзакции
 
Сверху