ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: proxy cache stampede



22.09.2011 14:13, Евгений 'Rush' Непомнящий wrote:
> 22 сентября 2011 г. 12:36 пользователь Alex Vorona <voron@xxxxxxxxxx> написал:
>> Это проблема медленной ФС, а не проблема slowfs_cache, до включения которого
>> подразумевается что кроме этой медленной ФС вообще нет другого хранилища.
> 
> Alex, либо я вас не понял, либо вы меня. Постараюсь перефразировать, а
> вы меня поправьте в чём не согласны (впрочем всё, что я напишу - не
> только теория, но и практика):
> 
> 1. Если nginx читает файл с "медленной" ФС (на самом деле важна не
> скорость чтения, а скорость отклика - тут то и начинается попа) то
> страдают _все_ клиенты данного воркера. В своё время долго гадали
> почему сервер с 12Gbit/s каналом не может отдать хотя бы 10Mbit/s
> локального файла - доходило до того, что сессия разваливалась. А всё
> потому, что в том же воркере nginx отдавал несколько файлов с nfs.
Да, это и понятно.
> 2. Гляньте на код модуля slowfs. В случае большого файла (а именно тут
> и будут затыки в п1.) он _сразу_ отдаётся клиенту, без
> предварительного копирования в кеш.
Файл любого размера, отсутсвующий в кэше, сразу отдаётся клиенту с медленного 
хранилища.
Просто в случае большого файла само скачивание его в кэш можно сделать в 
отдельном
процессе, чтобы именно это скачивание не блокировало worker nginx'а.
К тому, что раздача контента с медленного хранилища сама по себе блокирует 
worker nginx'а
и приводит фактически к отказу в обслуживании, модуль slowfs отношения не 
имеет, цель
модуля как раз смягчать эту ситуацию по возможности.
> Вывод - пока не будет закеширован весь популярный контент (в моём
> случае это десятки терабайт) nginx будет _СТРАШНО_ тормозить и тУпить,
> вплоть до разрыва сессий (Либо воркеров надо будет сделать столько,
> сколько соединений, что в мойм случае нереально).
Но и без slowfs nginx страшно тормозит и тупит при отдаче контента с 
"медленной" ФС и само
по себе лучше не становится.
> Ну и опять же про мой случай - закешировать контент _нереально_, он каждый 
> день
> изменяется (не по 10Тб конечно, но всё равно) и slowfs cache мне
> принёс больше геморроя, чем пользы. Если точнее ещё раз (не он первый
> не он последний, конечно) оттянул момент заглядывания в исходники
> nginx для принятия решения об отказе совмещения медленных (читай -
> сетевых, медленной наши ФС назвать тяжело при 1-20Gbit/s) и nginx. Так
> что slowfs cache - только для небольших объёмов кешируемого контента
> (несколько гигабайт), быстрых каналах (от сотенки) и/или статического
> контента.
По-моему slowfs хорошо подходит для кэширования контента с low latency ФС, у 
которой
latency не вырастает значительно с ростом трафика.
То есть когда nginx ещё в состоянии работать без slowfs, но задержки уже 
начинают
ощущаться - slowfs может помочь.

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.