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