proxy cache stampede

Vladimir Stavrinov vstavrinov на gmail.com
Ср Сен 21 19:21:46 UTC 2011


On Wed, Sep 21, 2011 at 08:29:47PM +0300, Alex Vorona wrote:

> Либо вместо редиректа - проксирование на backend без буфферизации.

То есть кэш в топку? И зачем тогда мне такой прокси? Я и так могу всех
клиентов направить прямо на backend без всякого посредника.

> Это уже как вы сделаете. Можно и nginx научить закачивать, например потанцевав вокруг
> post_action, можно анализировать access_log и тп.

Это конечно круто.

> - запросы будут обслужены

Так они и сейчас обслуживаются, по морде никого не бьют.

> - подтянется в локальное зеркало/кэш файл и после этого запросы к нему будут обслужены
> фронтендом.

Опять же, так оно и сейчас происходит.

> Альтернатива - подождать реализации busy locks в nginx, как заметил

Ожидание - это не альтернатива, по определению.

> Максим или ускорить её вложением некоторой суммы.

Я поговорю с начальством, но не уверен что меня правильно поймут.

> cron+find+sort+rm удаляют некоторое число файлов с самым старым atime по достижении
> нужного % заполнения хранилища.

Это так я поступал с логами, которые logrotate не обрабатывал.

Подводя итоги: весь этот фейерверк решений оставляет в силе главное
условие: так или иначе, но одни и те же данные многократно закачиваются на
сервер, создавая паразитный трафик, даже если эти данные не сохраняются
на сервере, а прямотоком идут к клиенту. Тогда как предназначение
кэширующего сервера ровно обратное - балансировка нагрузки.

> А c range-запросами(как раз для больших файлов актуально) и
> стримингом это совместить будет нетривиально.

Если я правильно, понимаю и сейчас range запросы обслуживаются из файла и
если теперь это будет временный файл, то это мало что изменит. Во всяком
случае пока с этим нет проблем, мы специально это тестировали. А насчёт
стриминга не знаю, но думаю не обязательно всё совмещать - могут быть 
разные решения в разных случаях.


***************************
###  Vladimir Stavrinov
###  vstavrinov на gmail.com
***************************



Подробная информация о списке рассылки nginx-ru