powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / подпроцессы и тайм-аут соединений
12 сообщений из 12, страница 1 из 1
подпроцессы и тайм-аут соединений
    #35352184
dfk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dfk
Гость
такой вопрос:
как ограничить таймаут для дочерних процессов, открываемых постгрессом, и тайм-аут для pconnect'ов, открываемых с помощью PHP?

win32, XP or win2k3 Serv.

"ломал" постгресс, бомбардируя его массовыми запросами. pg норм, НО: плодит себе кучу подпроцессов и периодически отказывает пользователю, под которым производится бомбардировка, в соединении.

вопрос: как заставить умирать дочерние процессы (после тестов оставил машину на час с лишним, к базе запросов не было) и закрываться pconnect's?
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35352880
gng
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gng
Гость
Если б не винда, то pgpool/pgpoolII можно было бы использовать. Ограничивает число соединений, есть таймаут по неактивности. Но только *nix.

В ODBC вроде как есть родной виндовый connection pooling, но в PHP с одного драйвера на другой так просто не соскочишь...
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35353245
dfk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dfk
Гость
ммм, надо тестовый БД сервер на линукс перегнать;)
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35353423
dfk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dfk
Гость
какой дистриб наиболее подходит для сервера БД?
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35353495
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dfkкакой дистриб наиболее подходит для сервера БД?Какой лучше сами знаете.
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35353914
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dfkтакой вопрос:
как ограничить таймаут для дочерних процессов, открываемых постгрессом, и тайм-аут для pconnect'ов, открываемых с помощью PHP?

"ломал" постгресс, бомбардируя его массовыми запросами. pg норм, НО: плодит себе кучу подпроцессов и периодически отказывает пользователю, под которым производится бомбардировка, в соединении.

вопрос: как заставить умирать дочерние процессы (после тестов оставил машину на час с лишним, к базе запросов не было) и закрываться pconnect's?

Ну а чего вы еще ото пхп ожидали? Как отрывали pconnect так корректно его в конце и закрывайте. Чем не угодил обычный коннект? Хотите пул - юзайте java + c3p0 какой-нибудь.
PS помоему в 8,4 обещали сделать чтобы на эту тему..
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35353921
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dfkкакой дистриб наиболее подходит для сервера БД?
CentOs
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35354721
dfk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dfk
Гость
а pconnect из php не закрывается, в том и фишка, это постоянное соединение , чтобы экономить время на постоянных пересоединениях php c БД. по-идее, они должны через какое-то не очень большое время закрываться.
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35354754
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dfkа pconnect из php не закрывается, в том и фишка, это постоянное соединение , чтобы экономить время на постоянных пересоединениях php c БД. по-идее, они должны через какое-то не очень большое время закрываться.Когда я лет пять назад занимался PHP, то pconnect для PostgreSQL работал не так же как для MySQL. Точнее работал как простой connect. Возможно, такое положение сохранилось до сих пор.
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35355385
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть куча клиентов и каждому нужно отдельное соединение к базе то по любому надо использовать софт который организует connection pool.

лучшее что есть это PgBouncer от Skype. Можно еще Pgpool, но в нем есть баги которые приводят к тому что открытое соединение повисает в состоянии "idle in transanction".

ставьте постгрес на CentOS 5, PgBouncer есть в виде rpm'a в репозитарии от постгреса.
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35355508
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dfkа pconnect из php не закрывается, в том и фишка, это постоянное соединение , чтобы экономить время на постоянных пересоединениях php c БД. по-идее, они должны через какое-то не очень большое время закрываться.

Много времени прошло... Но как мне помнится эта тема нужна чтобы воспользоваться соединением на нескольких страницах. Иначе в каждой php пришлось бы открывать новое соединение... Если не изменяет память - то там где соединение используется в последний раз его надо ручками закрыть. Pconnect служит только для этого... На пхп ничего подобного пулам соединений нет,так чтобы использовать соединение повторно при повторном коннекте клиента.
...
Рейтинг: 0 / 0
подпроцессы и тайм-аут соединений
    #35355817
dfk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dfk
Гость
в общем, ставлю centos в данный момент.
вообще, поведение php и postgresql под win при использовании pconnect и тесте нагрузки с использованием двух потоков утилиты апача ab с параметрами -n 50000 -c 64 приводит к тому, что за первые примерно 10 секунд плодится ~100 подпроцессов (как я понял, максимум при дефолтных настройках базы). при этом более 98% записей в логах апача соответствуют ожидаемому ответу, остальные - от отказа непривелигерованному пользователю в новом соединении до слишком много клиентов. При этом ab показывает производительность в ~65 в секунду, на AMD Semprone 2800+

если мучить только одним потоком Ab, то 100% - нормальная работа и не менее 150 запросов в секунду

единственный минус - это продолжающие висеть подпроцессы и занятые соединения.

если использовать просто connect, то производительность заметно снижается (что и понятно, каждый скрипт каждый раз заново открывает соединение с бд)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / подпроцессы и тайм-аут соединений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]