ПРОЕКТЫ 


  АРХИВ 


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: долгий скрипт( вопрос по настройке)



Hello!

On Tue, Feb 09, 2010 at 10:38:27AM -0500, szcheh wrote:

> есть связка
> nginx - apache - long_time_script.pl
> 
> в енджинксе стоит проксирование на апач с кешированием 
> результатов выдачи скрипта long_time_script.pl
> допустим proxy_cache_valid  200 1m;
> первый запрос на получение результатов long_time_script.pl
> инджинксом "лезет" в апач за ним.. результат кладет в свой кеш..
> на все последующие запросы которые приходят к нему в течении 1 
> минуты он отвечает данными из своего кеша.
> 
> грубо представим ситуацию, что long_time_script.pl очень тяжелый 
> и работает не меннее 2х секунд и есть кучу народу,которые со 
> скоростью 10 запросов в сек хотят результаты этого скрипта...
> в момент когда в кеше нет результатов выполнения скрипта  
> инджинкс все запросы отправляет в апач в течении тех самых 2х 
> секунд.. в нашем случае апач получает 20 запросов, которые 
> естественно тормозят друг друга..аналогичная ситуация возникает 
> на границе времени жизни результатов в кеше, т.е через 1 минуту.
> 
> возможно ли как-нибудь объяснить енджинксу, что он уже отправил 
> один запрос и надо обработку остальных 19 ребят с аналогичными 
> запросами притормозить(не отправлять их запросы в апач ) до 
> прихода каких-либо результатов первого запроса, а потом выдать 
> им готовые данные уже из кеша?
> ничего похожего в настройках не нашел.

Ближайшее что есть - это

    proxy_cache_use_stale updating ...;

В этом случае по истечению срока валидности ответа в кеше nginx 
отметит что он пошёл его обновлять - и пойдёт обновлять одним 
запросом.  Все остальные запросы будут отдавать пользователям 
устаревший ответ (пока не прилетит новый).

В общем случае это busy lock'и, и их пока нет.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.