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