SSI Troubles

Igor Sysoev is at rambler-co.ru
Wed Oct 11 19:08:05 MSD 2006


On Wed, 11 Oct 2006, Aleksej Novikov wrote:

> 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





More information about the nginx-ru mailing list