Re: nginx+websockets, потребление памяти

Maxim Dounin mdounin at mdounin.ru
Fri Oct 25 16:49:24 UTC 2013


Hello!

On Fri, Oct 25, 2013 at 10:54:45AM -0400, ast wrote:

> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> > 
> > On Thu, Oct 24, 2013 at 10:42:57AM -0400, ast wrote:
> > 
> > > Всем привет.
> > > 
> > > Имеется сервер, одновременно держит порядка 15-20к вебсокетных
> > соединений по
> > > HTTPS, rps примерно 100-200. Проблема в том, что потребляется под
> > все это
> > > дело порядка 2-3Гб. Как мне кажется, то потребление достаточно
> > высокое.
> > > Игрался с ssl_session_timeout, было 10m, эффекта особого не дает.
> > > Посоветуйте куда посмотреть ,что бы уменьшить  аппетиты nginx?
> > 
> > Поиграться можно с proxy_buffer_size (при проксировании на каждое 
> > WebSocket-соединение выделяется два буффера соответствующего 
> > размера, один на чтение, второй - на запись).
> > 
> > Ну и если OpenSSL старее 1.0.0, то можно попробовать обновится на 
> > 1.0.0+ и пересобрать nginx со свежим OpenSSL'ем.  Тоже должно 
> > слегка помочь, на неактивных SSL-соединениях потребление памяти 
> > снижается с ~64k до ~16k на соединение.
> 
> OpenSSL  стоит 1.0.1 14 Mar 2012, по идее мне не поможет.
> 
> А вот proxy_buffer_size как-то до конца не понимаю всю роль этой директивы,
> а пальцем в небо не хочется пробовать. Может посоветуете насколько можно
> уменьшить размеры?

Минимум - чтобы заголовок ответа бекенда влезал в буфер.  По 
умолчанию там 4k, вполне разумное значение.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



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