Добавил еще один диск, сделал 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 <a...@nginx.com> написал: > On Fri, Feb 26, 2016 at 10:44:17AM +0300, Vadim Lazovskiy wrote: > > 25 февраля 2016 г., 21:28 пользователь Roman Arutyunyan <a...@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