nginx-0.7.44
Andrew Kopeyko
kaa at zvuki.ru
Wed Mar 25 10:45:32 MSK 2009
On Tue, 24 Mar 2009, Монашёв Михаил wrote:
> Здравствуйте, Андрей.
>
>> а можно ли сделать такую фичу кеширования:
>> - сохранять в кеше, если время ответа бэкенда ($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
>
>> Насколько это реализуемо?
>
> А почему это нельзя реализовать на бэкенде, складывая данные в
> мемкешед и выставляя время кэширования?
Нету memcached - потому что на него уже нет свободной памяти.
> Конечно надо найти скрипты,
> которые долго отвечают, но это всёравно рано или поздно надо будет
> делать.
Делается это, делается - но время ответа скриптов "нестабильно". И когда
оно вдруг вырастает - вот тут бы и надо чуть охладить пыл юзеров, отдавая
им сильнее закешированную страницу. Да и бэкенду даётся время "прийти в
чувство".
> Агрегируешь аксес-лог по $upstream_response_time и смотришь
> что тормозит. Ты же предлагаешь реализовать затычку, убирающие
> симптомы, а не лечащую болезнь.
Похоже, мы по-разному понимаем болезнь:
- для тебя это "долго отвечашие скрипты"
- для меня это "неполучившие ответа пользователи"
В данный момент - мне важнее пользователя удовлетворить, пусть даже и
устаревшей\неполной информацией.
--
Best regards,
Andrew Kopeyko <kaa at zvuki.ru>
More information about the nginx-ru
mailing list