nginx-0.7.44

Михаил Монашёв postmaster at softsearch.ru
Tue Mar 24 10:13:31 MSK 2009


Здравствуйте, Игорь.

>> >> >     *) Добавление: предварительная поддержка кэширования в модуле
>> >> >        ngx_http_proxy_module.
>> >> 
>> >> Сколько байт тратится в зоне на хранение информации об одном файле?
>> 
>> > 64 байта на FreeBSD/i386
>> > 128 - на FreeBSD/amd64. На других 64-битных платформах должно быть тоже 128.
>> 
>> >> Чистка кэша происходит перебором всех директорий с кэшем и поиском
>> >> тех файлов, которые проэкспарились в зоне или отсутствует в ней?
>> 
>> > Нет. В зоне ключи хранятся в LRU-очереди по inactive, удаляются только
>> > давно неиспользованные данные, независимо от их валидности. Раз в сутки
>> > перебираются все каталоги и из них удаляются файлы, отсутствущие в зоне.
>> 
>> Выходит,  что  текущий  алгоритм не позволяет хранить в кэше данные, к
>> которым  не  обращались  сутки. Любой рестарт приводит в последствии к
>> удалению  того,  что  не  успело  попасть в зону. Вот ребутнул я ночью
>> сервер,  потом  наступает  5  утра и весь кэш стирается. Конечно можно
>> помнить  про  это и поменять время удаления, а потом проснуться и днём
>> поменять время обратно. Но как-то неудобно...

IS> Прилагаемый патч запрещает чистку, если со времени запуска не прошло
IS> время inactive. Ставишь inactive=2d и будет храниться двое суток.

Спасибо.

>> Очень  не  хватает  возможности  хранить  кэш  размера не более, чем Х
>> гигов.  Т.е.  при  старте  сквидить  в фоновом режиме, и как все файлы
>> всосутся  в  зону,  начинать удалять их с хвоста, если они вылезают за
>> размеры  кэша.  Сквидить  можно  умно,  например  ограничив количество
>> дисковых  операций  в  единицу  времени,  дабы можно было регулировать
>> нагрузку на диск.

IS> В принципе, это сделать можно. Сейчас есть специальный процесс
IS> "nginx: cleaner process", который
IS> 1) удаляет файлы по мере того, как они становятся ненужными,
IS> 2) и чистит кэш раз в сутки.

IS> Его можно озадачить подчитыванием на старте и слежением за суммарным объёмом.
IS> И ещё нужно переменовать его в "cache manager process".

Супер! Тогда необходимость в ночной чистке вообще отпадёт.

--

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






More information about the nginx-ru mailing list