Re: Скачкообразный рост потребляемой памяти при включении slice

Zaynullin nginx-forum на forum.nginx.org
Пн Сен 26 14:15:09 UTC 2016


Здравствуйте.

Обнаружили избыточное потребление памяти при включенном модуле
lua-nginx-module и кешировании range запросов.
Подробности можно найти по ссылке:
https://github.com/openresty/lua-nginx-module/issues/872

Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Tue, Aug 02, 2016 at 04:43:44AM -0400, Zaynullin wrote:
> 
> > Тогда скажите, пожалуйста, на что будет использоваться память, если
> все
> > запросы и соответственно подзапросы завершатся?
> 
> Если все запросы завершаться - то память использоваться не будет 
> (и будет освобождена), однако с точки зрения ядра может оставаться 
> выделенной nginx'у.  Зависит от поведения и настроек системного 
> аллокатора, а равно от размеров используемых буферов.
> 
> Одна из основных проблем при использовании slice-фильтра состоит в 
> том, что nginx не умеет повторно использовать буфера из 
> подзапросов, и для каждого подзапроса выделяются свои 
> proxy_buffers и output_buffers.  Соответственно запрос файла в 1 
> гигабайт при использовании слайсов в 1 мегабайт размером требует 
> 1024 подзапросов, каждый - со своими буферами.  В предположении 
> буферов по умолчанию это
> 
>     (2 * 32k + 8 * 4k) * 1024 == 96m
> 
> Т.е. даже с минимальными буферами по умолчанию на один запрос 
> потребуется почти 100 мегабайт памяти.  Именно поэтому 
> рекомендуется делать слайсы достаточно большого размера.
> 
> Кроме того, стоит подумать про использование sendfile, это 
> позволит не использовать output_buffers и существенно сэкономит 
> память при отдаче ответов из кеша.
> 
> -- 
> Maxim Dounin
> http://nginx.org/
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268615,269852#msg-269852



Подробная информация о списке рассылки nginx-ru