Re: Растет кол-во inode из-за кеша
Здравствуйте Раз уж пошла такая пьянка, то может подскажете, есть какие-то противопоказания насчет использования use_temp_path=off 16 июня 2017 г., 17:25 пользователь Maxim Douninнаписал: > Hello! > > On Fri, Jun 16, 2017 at 04:57:04PM +0300, Иван Мишин wrote: > > > Крахов файловой системы не было, каталог /tmp/ram отдан исключительно под > > кеш nginx. За последнюю неделю набежало 5941794 файлов нулевого размера в > > кеш каталоге. > > В общем эта проблема очень актуальна для меня и преследует уже не первый > > месяц, есть у кого-нибудь идеи как я могу отдиагностировать ситуацию? > > Максим, можно подробнее про "кончилось место при копировании из каталога > со > > временными файлами", не совсем понимаю что ты имеешь ввиду? > > Если proxy_temp_path и proxy_cache_path находятся на разных > файловых системах, то просто переместить временный файл в кеш > нельзя, приходится его копировать, создав новый файл. Подробнее > про это рассказывается в описании директивы proxy_cache_path: > > http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_path > > Если в процессе копирования произойдёт ошибка, например из-за > того, что файловая система, на которой располагается кеш, > переполнена, то в логе будет ошибка уровня alert, а в кеше > останется лежать недописанный файл. > > Отмечу в скобках, что если вот это: > > > > > кеш в ramfs на 28Гб со следующими настройками: > > > > > > > > > proxy_cache_path /tmp/ram/ levels=1:2 keys_zone=level-1:20m > > > > > max_size=28000m inactive=1440m; > > и правда озаначает, что размер ramfs - 28 гигабайт, то результат > ожидаем. > > Вы сказали nginx'у, что начинать чистить кеш надо при превышении > размера в 28 гигабайт. Если cache manager отвлечётся хоть немного > на другие задачи (а он может заниматься другими кешами, если они > есть, или просто уйти спать на 10 секунд, почистив всё) - файловая > система переполнится, и будут ошибки. Вам надо менять настройки. > > -- > Maxim Dounin > http://nginx.org/ > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Растет кол-во inode из-за кеша
Hello! On Fri, Jun 16, 2017 at 04:57:04PM +0300, Иван Мишин wrote: > Крахов файловой системы не было, каталог /tmp/ram отдан исключительно под > кеш nginx. За последнюю неделю набежало 5941794 файлов нулевого размера в > кеш каталоге. > В общем эта проблема очень актуальна для меня и преследует уже не первый > месяц, есть у кого-нибудь идеи как я могу отдиагностировать ситуацию? > Максим, можно подробнее про "кончилось место при копировании из каталога со > временными файлами", не совсем понимаю что ты имеешь ввиду? Если proxy_temp_path и proxy_cache_path находятся на разных файловых системах, то просто переместить временный файл в кеш нельзя, приходится его копировать, создав новый файл. Подробнее про это рассказывается в описании директивы proxy_cache_path: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_path Если в процессе копирования произойдёт ошибка, например из-за того, что файловая система, на которой располагается кеш, переполнена, то в логе будет ошибка уровня alert, а в кеше останется лежать недописанный файл. Отмечу в скобках, что если вот это: > > > кеш в ramfs на 28Гб со следующими настройками: > > > > > > > proxy_cache_path /tmp/ram/ levels=1:2 keys_zone=level-1:20m > > > > max_size=28000m inactive=1440m; и правда озаначает, что размер ramfs - 28 гигабайт, то результат ожидаем. Вы сказали nginx'у, что начинать чистить кеш надо при превышении размера в 28 гигабайт. Если cache manager отвлечётся хоть немного на другие задачи (а он может заниматься другими кешами, если они есть, или просто уйти спать на 10 секунд, почистив всё) - файловая система переполнится, и будут ошибки. Вам надо менять настройки. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Растет кол-во inode из-за кеша
Крахов файловой системы не было, каталог /tmp/ram отдан исключительно под кеш nginx. За последнюю неделю набежало 5941794 файлов нулевого размера в кеш каталоге. В общем эта проблема очень актуальна для меня и преследует уже не первый месяц, есть у кого-нибудь идеи как я могу отдиагностировать ситуацию? Максим, можно подробнее про "кончилось место при копировании из каталога со временными файлами", не совсем понимаю что ты имеешь ввиду? 9 июня 2017 г., 18:38 пользователь Maxim Douninнаписал: > Hello! > > On Fri, Jun 09, 2017 at 04:26:09PM +0300, Иван Мишин wrote: > > > Всем привет. > > Столкнулся со следующей проблемой: > > nginx последней стабильной версии > > ОС CentsOS 6.9 > > кеш в ramfs на 28Гб со следующими настройками: > > > > > proxy_cache_path /tmp/ram/ levels=1:2 keys_zone=level-1:20m > > > max_size=28000m inactive=1440m; > > > proxy_temp_path /tmp/cache/nginx/proxy_temp; > > > proxy_cache_key $server_name$request_uri; > > > > > > Довольно активно растет кол-во inode на ramfs. Стал изучать ситуацию, > > оказалось в кеше лежит куча файлов нулевого размера при чем среди них > есть > > и очень старые (месячной давности например). На 28Гб кеша, оказалось > более > > 6млн Inode задействовано, при этом после удаления нулевых файлов осталось > > всего около 200к inode. > > Вопрос зачем nginx хранит до бесконечности нулевые файлы? Как от этого > > избавиться? > > Файлы нулевого размера в кеше - это не nginx, по крайней мере не > его штатная работа, он просто не умеет ничего подобного создавать. > Либо это последствия каких-то ошибок (кончилось место при > копировании из каталога со временными файлами?), либо просто > результат краха файловой системы. > > -- > Maxim Dounin > http://nginx.org/ > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru