nginx-0.7.44

Монашёв Михаил postmaster at softsearch.ru
Wed Mar 25 12:41:53 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
>>
>>> Насколько это реализуемо?
>>
>> А  почему  это  нельзя  реализовать  на бэкенде, складывая данные в
>> мемкешед и выставляя время кэширования?

> Нету memcached - потому что на него уже нет свободной памяти.

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

>> Конечно надо найти скрипты, которые долго отвечают, но это всёравно
>> рано или поздно надо будет делать.

> Делается  это,  делается - но время ответа скриптов "нестабильно". И
> когда  оно  вдруг  вырастает  -  вот тут бы и надо чуть охладить пыл
> юзеров,  отдавая  им  сильнее  закешированную страницу. Да и бэкенду
> даётся время "прийти в чувство".

Не  вижу проблемы замерять время генерации ответа в самих скриптах и в
зависимости  от  этого кэшировать ответ в мемкашеде на соответствующее
время.

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






More information about the nginx-ru mailing list