SSI Troubles

Igor Sysoev is at rambler-co.ru
Wed Oct 11 14:38:22 MSD 2006


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"-->
...


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list