nginx-0.7.44

Монашёв Михаил postmaster at softsearch.ru
Tue Mar 24 18:50:29 MSK 2009


Здравствуйте, Андрей.

> а можно ли сделать такую фичу кеширования:
> - сохранять в кеше, если время ответа бэкенда ($upstream_response_time)
>    превысило MMM миллисекунд

> Насколько это сложно?

> Это позволит закешировать не всё подряд, а только наиболее тяжёлые (с
> точки зрения бэкенда) запросы.


> Развивая идею - хорошо бы ещё время кеширования сделать адаптивным, 
> зависящим от времени $upstream_response_time. Например, задавать таблицей

> upstream_response_time           caching_time
> =======================          =============
> 0 < T < 0.5s                     10s
> 0.5s < T < 1s                    30s
> 1s < T < 2s                      60s
> 2s < T < 5s                      2m
> 5s < T < 10s                     10m

> Насколько это реализуемо?

А  почему  это  нельзя  реализовать  на  бэкенде,  складывая  данные в
мемкешед  и  выставляя  время кэширования? Конечно надо найти скрипты,
которые  долго  отвечают,  но  это всёравно рано или поздно надо будет
делать.  Агрегируешь  аксес-лог  по $upstream_response_time и смотришь
что   тормозит.  Ты  же  предлагаешь  реализовать  затычку,  убирающие
симптомы, а не лечащую болезнь.

Если у тебя так много запросов, что и мемкашед не справляется, то пиши
в несколько ключей и размазывай их по нескольким мемкашедам.

-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.






More information about the nginx-ru mailing list