Можете прислать всю конфигурацию?
Кроме того, можете проследить открытые дескрипторы у воркеров nginx и их
изменение со временем? В особенности, растет ли их число и, если растет, то
за счет чего именно.
On Sat, Feb 27, 2016 at 06:48:29PM +0300, Vadim Lazovskiy wrote:
> Добавил еще один диск, сделал reload
>
> proxy_cache_path /disks/ssd01 levels=1:2 keys_zone=cache_ssd01:32m
> use_temp_path=off inactive=7d max_size=210G;
> proxy_cache_path /disks/ssd02 levels=1:2 keys_zone=cache_ssd02:32m
> use_temp_path=off inactive=7d max_size=210G;
>
> split_clients $request_uri $disk {
> 50% ssd01;
> 50% ssd02;
> }
>
> Первый диск переполнился, при этом cache manager вообще ничего не удалял.
> Сделал рестарт. Диск слегка почистился, но все равно не до max_size:
> # df -h | grep ssd
> /dev/sdb1 220G 219G 1.8G 100% /disks/ssd01
> /dev/sdc1 220G 59G 151G 28% /disks/ssd02
>
> В error_log две сотни подобных сообщений, не знаю, есть ли связь:
>
> 2016/02/27 14:43:52 [alert] 2367#2367: *1968479 open socket #49 left in
> connection 5
> 2016/02/27 14:43:52 [alert] 2367#2367: *2286288 open socket #37 left in
> connection 6
> 2016/02/27 14:43:52 [alert] 2367#2367: *2769369 open socket #96 left in
> connection 27
> 2016/02/27 14:43:52 [alert] 2367#2367: *1987300 open socket #5 left in
> connection 29
> 2016/02/27 14:43:52 [alert] 2367#2367: *2769354 open socket #3 left in
> connection 35
> 2016/02/27 14:43:52 [alert] 2367#2367: *2286091 open socket #35 left in
> connection 36
> 2016/02/27 14:43:52 [alert] 2367#2367: aborting
>
>
> 26 февраля 2016 г., 12:53 пользователь Roman Arutyunyan <arut@nginx.com>
> написал:
>
> > On Fri, Feb 26, 2016 at 10:44:17AM +0300, Vadim Lazovskiy wrote:
> > > 25 февраля 2016 г., 21:28 пользователь Roman Arutyunyan <arut@nginx.com>
> > > написал:
> > >
> > > >
> > > > Попробуйте патч в аттаче.
> > > >
> > > >
> > > Роман, спасибо! Теперь все работает как задумано.
> > >
> > >
> > > > > И чтоб 2 раза не вставать, спрошу, отчего может возникать проблема с
> > > > > переполнением диска?
> > > > > Диск 220G, max_cache опустил до 190G, а на деле диск забивается под
> > > > > завязку, причем именно кешем (proxy_cache_min_uses 1, slice 10m,
> > 10-20
> > > > rps).
> > > > > В temp в этот момент не более 20 временных файлов размером ~ 10
> > > > мегабайт. В
> > > > > кеше все элементы <= 10 мегабайт.
> > > > > Незакрытых удаленных файлов на диске нет.
> > > > > В error log куча сообщений c No space left on device.
> > > >
> > > > Может быть такое, что кеш растет так быстро, что nginx не успевает его
> > > > очищать.
> > > >
> > > > Еще одна причина - рестарт воркеров. Если по какой-либо причине это
> > > > происходит
> > > > (например, из-за нестабильных 3rd-party модулей), то кеш может
> > остаться в
> > > > неконсистентном состоянии, что может приводить к описанной вами
> > проблеме.
> > > >
> > > > Насколько часто это у вас это происходит?
> > > >
> > > >
> > > В том-то и дело, что воркеры не падают и сборка без сторонних модулей.
> > > Глядя на strace процесса cache manager, видно, что он что-то удаляет, но
> > > каждый раз недостаточно.
> > > Суммарный размер каталогов 0-f балансирует около значения размера диска
> > > (220G) и до указанных 190G даже близко не опускается.
> > > При этом '(deleted)' файлов на диске нет и в temp файлов суммарно
> > мегабайт
> > > на 300.
> >
> > Сколько файлов cache manager удаляет за раз?
> >
> > [..]
> >
> > --
> > Roman Arutyunyan
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
>
>
>
> --
> WBR,
> Vadim Lazovskiy
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
--
Roman Arutyunyan
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru