Re: proxy_cache и большой кэш

Igor Sysoev igor на sysoev.ru
Пн Дек 14 16:26:07 MSK 2009


On Mon, Dec 14, 2009 at 02:12:33PM +0300, Игорь Хомяков wrote:

> 2009/12/14 Igor Sysoev <igor at sysoev.ru>:
> > On Mon, Dec 14, 2009 at 11:58:54AM +0300, Игорь Хомяков wrote:

> >> обычный top выглядит так
> >> load averages:  0.05,  0.08,  0.08
> >> 33 processes:  1 running, 32 sleeping
> >> CPU:  1.3% user,  0.0% nice,  2.3% system,  0.4% interrupt, 96.0% idle
> >> Mem: 172M Active, 69M Inact, 5510M Wired, 174M Cache, 623M Buf, 5992K Free
> >> Swap: 4096M Total, 52M Used, 4044M Free, 1% Inuse, 48K In
> >>
> >> заполняемость кешей в среднем  20Gb для HDD и 2Gb для memory disk
> >>
> >> === Проблема ===
> >>
> >> 1-2 дня все работает нормально, идет процесс заполнения кешей, затем сервер
> >> начинает уходить в swap ростет кол-во чтений на дисках (по gstat),
> >> lsof показывает что
> >> nginx читает кэш на диске. отдача тормозит сервер выпадает из
> >> upstream-ов.  иногда это заканчивается
> >> тем что сервер вообще перестает отвечать. через 10-15 минут после
> >> отключений трафика всё приходит в норму
> >>
> >> Есть подозрение что в эти моменты cache manager чистит inactive записи
> >> и "забивает" дисковый ввод-вывод
> >
> > Cache manager чистит inactive постоянно.
> а если у элементов кеша inactive очень близко ?

Может, конечно. Но глядя на
Mem: 172M Active, 69M Inact, 5510M Wired, 174M Cache, 623M Buf, 5992K Free
и учитывая, что "сервер начинает уходить в swap", я не думаю, что
nginx тут делает что-то особенное. Для приложений памяти всего 0.5G.

> >> Кто нибудь сталкивался с подобными проблемами ? Использовать
> >> proxy_pass не хочется, т.к там придется в ручную вычищать
> >> даннные из кешей.
> >
> > Есть ощущение, что вся память уходит в md (5510M Wired), он похоже,
> > не меньше 4G. Одного не могу понять, зачем вообще его использовать ?
> 
> часть картинок запрашивается на порядок чаще других, по этому их вынесли на
> memory disk с размерами сейчас экспериментируем

Для этого в современных операционных системам придуман VM cache.


-- 
Игорь Сысоев
http://sysoev.ru



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