Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[2]: идея по atime.
OS какая? Если линукс, то какое ядро?
Если 2.6.18 и больше, то можно включить noatime
и в цикле запускать inotifywatch с опцией -e access
с необходимым интервалом и для всех
выданных файлов
выполнять touch. Оставшиеся по крону
удалять find-ом.
Эффект достигается за счет того, что inotify
работает
на уровне файлов, а noatime -- на уровне inode-ов
(см. touch_atime
в fs/inode.c ядра Linux), следовательно они друг
друг не
мешают, а inotifywatch статистику держит в
памяти.
http://inotify-tools.sourceforge.net/
Решение будет грубое, поскольку между
вызовами inotifywatch
будет окно, в которое будут попадать
запросы к некоторым файлам.
Для правильного решения нужно писать
демон.
> Hello Alexey,
>
> хорошо, а можно ли тогда добавить опцию
> для логов - atime? чтобы можно
> было тогда натравливать скрипт на логи
> раз в минуту и он все сам бы
> делал в обход nginx-а.
>
> Thursday, January 17, 2008, 10:34:04 AM, you wrote:
>
>> либо модуль писать, либо через скрипт
>> пропускать такое ...
>
>> On 17.01.2008, at 10:24, Arkadiy Kulev wrote:
>
>>> Hello nginx-ru,
>>>
>>> Не знаю насколько это реализуемо, но...
>>> К примеру у меня есть папка с
>>> закэшированными в ней файлами,
>>> которые
>>> удаляются вручную по достижению mtime
>>> (file modification time)
>>> лимита в 2 недели.
>>> Это не всегда эффективно, т.к. бывают
>>> слишком часто запрашиваемые
>>> файлы, которые не хотелось бы
>>> регенирировать несколько раз за время
>>> их жизни.
>>>
>>> У меня на FS выставлена опция noatime, дабы
>>> увеличить
>>> производительность дисков.
>>>
>>> Игорь, скорее вопрос к вам - можно ли
>>> научить nginx читать atime и
>>> обновлять его, только если он старше
>>> чем 10,20,60 или сколько-то там
>>> минут.
>>>
>>> Таким образом, atime не обновлялся бы при
>>> каждом запросе, а только
>>> один раз в заданный интервал времени.
>>> Сэкономит ресурсы дисков, но и
>>> позволит узнать какие файлы стоит
>>> удалять, а какие нет.
>>>
>>> Arkadiy Kulev mailto:eth@xxxxxxxxxxxx
>>> ICQ 17107076
>>> MSN arca@xxxxxxx
>>> Skype arkadiynight
>>>
>>> +7 495 7266564
>>> Moscow, Russia
>>>
>>>
--
Best regards,
Valery Kholodkov
|