ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[3]: SSI Troubles



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



 




Copyright © Lexa Software, 1996-2009.