Wednesday, October 11, 2006, 1:38:22 PM, you wrote:
On Wed, 11 Oct 2006, Aleksej Novikov wrote:
Я пожалуй обрисую ситуацию, думаю это прояснит что и как.
Есть некий PHP скрипт, который вызывается порядка 5-10 раз в секунду.
Результат работы скрипта сформировать документ с несколькими разными SSI
вызываюшихся с
этогоже сервера.
Пример результата работы скрипта
<!--# include virtual="/ssi1/index.php?'.$request.'" -->
<!--# include virtual="/ssi2/index.php?'.$request.'" -->
<!--# include virtual="/ssi3/index.php?'.$request.'" -->
<!--# include virtual="/ssi4/index.php?'.$request.'" -->
<!--# include virtual="/ssi5/index.php?'.$request.'" -->
<!--# include virtual="/ssi6/index.php?'.$request.'" -->
Для каждого из ssi путей, описан свой location в nginx. Если я всё правильно
понял, то в
приведённом выше примере, nginx сразу запросит 6 locations и будет их парадедтно
исполнять.
Да.
Каждый из этих location для SSI описан как proxy_pass .... то есть реально
происходит
сразу 6 запросов к различным серверам, каждый из которых описан в своём
location.
Помножая на число запросов к первоначальному скрипту, получаем 30-60 запросов в
секунду от
SSI locations.
В результате в nginx-error-log валится в окромном количестве сообщения
2006/10/11 10:14:02 [error] 7783#0: *241647 upstream timed out (110: Connection
timed out) while sending to client
и тогдалее.
ВОПРОС: Есть ли какие либо ограничения на подобное испольование SSI ? Спасибо !
Если нужно чтобы запросы выполнялись последовательно, то нужно поставить
параметр wait="yes":
<!--# include virtual="/ssi1/index.php?'.$request.'" wait="yes"-->
<!--# include virtual="/ssi2/index.php?'.$request.'" wait="yes"-->
...
Мне как раз и адо паралельно, моет я не правильно задал вопрос, проблема в этих
upstream timed out
я хочу понять, проблема именно в том, что upstream реально не отвечает, или
nginx
некоректно отрабатывает под нагрузкой подобную схему.
Это проблемы апстримов. Например, сейчас на главной странице www.rambler.ru
делается 6 удалённых параллельных вставок. Днём эта страница запрашивается
около 30-40 раз в секунду на каждой машине.
Игорь Сысоев
http://sysoev.ru