proxy cache stampede
Dmitriy MiksIr
miksir на maker.ru
Чт Сен 22 13:00:32 UTC 2011
09/22/2011 04:33 PM, Vladimir Stavrinov пишет:
> 2011/9/22 Oleksandr V. Typlyns'kyi<wangsamp на gmail.com>:
>> Владимир, перед тем как продолжать сотрясать воздух про пороки и фичи, а
>
> Здесь меня только что упрекнули в неуважении или в чём то таком, когда
> приходится реагировать на такое.
>
>> назовите-ка хотя бы 3 распространённых веб-сервера или программных
>> акселераторов с busy lock из коробки?
>> И сразу станет понятно насколько это "must have", "optional" или "must be fixed".
>
> В первых, свои грехи не оправдываются чужими (это насчёт 3
> распространённых веб серверах) .
> Во вторых, я не понимаю почему мне здесь всё время шьют дело о бизи
> локах, о которых я, как ни странно, до сих пор почти ничего не сказал.
> Обычное дело - без меня меня женили.
> И в третьих, "что бы сразу стало понятно", не худо бы знать что
> большинство крупнейших CDN используют кэширующие прокси и если они
> работают не совсем как от них ожидают, мягко говоря, то это в
> частности и по причине обсуждаемой здесь проблемы. А как они кэшируют
> я знаю не по наслышке - плохо кешируют. Так что если здесь идёт речь
> об актуальности - то задача эта , что бы сказать не сильно сотрясая
> воздух, весьма актуальна.
Задача CDN все же не экономия трафика владельца CDN, а быстрая доставка
контента клиенту. Описанная вами проблема этому не мешает. А nginx
никогда не позиционировался как средство построения CDN. Так что
непонятно ваше удивление.
Еще непонятно следующее - может, растолкуете. Допустим у нас есть полное
зеркало. Половина - горячее. Вы делаете кеширующий сервер объема чуть
больше половины. Ну горячий контент у вас быстро заполнится и проблема
уйдет. А вот холодный контент у вас будет постоянно генерить
дополнительный трафик, ибо там будет большая конкуренция за остатки
кеша. Т.е. запрошенный холодный будет вышибать другой холодный из кеша и
т.д. - по сути получится, что почти весь холодный контент, как ни крути,
будет дергаться из полного зеркала, пораждая тот самый ненавистный вами
трафик.
Если бы я делал что-то подобное для горячего контента, то, наверно,
делал бы это руками. Т.е. nginx-ом бы проверял наличие файла в кеше и в
случае отсуствия - делал бы http редирект на ближайшее зеркало. И
отдельно смотрел бы лог запросов для определения горячего контента и
выкачивал бы его с зеркала. Тут и более настраиваемое поведеление кешера
под задачи, и плавный старт и клиенты ничего не ждут.
Подробная информация о списке рассылки nginx-ru