On Thu, Feb 25, 2016 at 06:44:03PM +0300, Vadim Lazovskiy wrote: > 25 февраля 2016 г., 16:53 пользователь Roman Arutyunyan <a...@nginx.com> > написал: > > > > > > Маловат фрагмент. Хотелось бы посмотреть на весь запрос и подзапросы. > > > > > Сразу прошу прощения за размер логов. > > http://disk.karelia.pro/833rexx/ > > Два лога: > 1. с proxy_cache_min_uses 1. Работает, как задумывалось. > Запрос на перемотку можно найти по диапазону 498197221-1279019570. > > 2. с proxy_cache_min_uses 50. Ломается перемотка из-за игнорирования Range > (или учета If-Range, кто его разберет). > Запрос на пеермотку можно найти по диапазону 467829492-1279019570.
Попробуйте патч в аттаче. > И чтоб 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 модулей), то кеш может остаться в неконсистентном состоянии, что может приводить к описанной вами проблеме. Насколько часто это у вас это происходит? -- Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan <a...@nginx.com> # Date 1456424237 -10800 # Thu Feb 25 21:17:17 2016 +0300 # Node ID 93266a5c3377443acc1091fd8b2f3553e19bfa09 # Parent 6812ca9a800247d2428f487d9b4938a2b499b7d8 [mq]: upstream-lmt diff -r 6812ca9a8002 -r 93266a5c3377 src/http/ngx_http_upstream.c --- a/src/http/ngx_http_upstream.c Tue Feb 16 17:49:14 2016 +0300 +++ b/src/http/ngx_http_upstream.c Thu Feb 25 21:17:17 2016 +0300 @@ -4146,15 +4146,8 @@ ngx_http_upstream_process_last_modified( u = r->upstream; u->headers_in.last_modified = h; - -#if (NGX_HTTP_CACHE) - - if (u->cacheable) { - u->headers_in.last_modified_time = ngx_parse_http_time(h->value.data, - h->value.len); - } - -#endif + u->headers_in.last_modified_time = ngx_parse_http_time(h->value.data, + h->value.len); return NGX_OK; } @@ -4651,15 +4644,8 @@ ngx_http_upstream_copy_last_modified(ngx *ho = *h; r->headers_out.last_modified = ho; - -#if (NGX_HTTP_CACHE) - - if (r->upstream->cacheable) { - r->headers_out.last_modified_time = + r->headers_out.last_modified_time = r->upstream->headers_in.last_modified_time; - } - -#endif return NGX_OK; }
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru