nginx iptv http proxy - memory leaks

Maxim Dounin mdounin на mdounin.ru
Чт Июн 17 13:38:11 MSD 2010


Hello!

On Thu, Jun 17, 2010 at 07:57:14AM +0300, Dobrozhansky Sergey wrote:

> Столкнулся с проблемой утечки памяти.
> 
> Имеется иптв сервер, раздающий поток по http.
> OC:
>  - FreeBSD 7.3-RELEASE-p1 i386
>  - FreeBSD 8.0-RELEASE-p3 i386.
> 
> В сервер приходят мультикаст потоки, которые с помощью udpxy
> перегоняются в http.
> 
> Nginx выступает в роли фронтенда.
> 
> За пару часов его работы он может забрать порядка гигабайта памяти.

[...]

Вот в этом треде подробно разбирается проблема:

http://nginx.org/pipermail/nginx/2010-April/019814.html

In summary: nginx освобождает память по окончанию запроса, а они у 
вас долгоживущие.  При этом поскольку данные идут маленькими 
кусочками (из-за proxy_buffering off;) - chunked фильтр аллоцирует 
много буферов (и соответственно ест память).

Workaround: использовать chunked_transfer_encoding off; для таких 
соединений (ну или рвать их периодически).

Maxim Dounin



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