hello,<div><br></div><div> I currently have a SockJS websocket implementation sitting on top of cowboy. We have been going through some tuning/concurrency testing and we have improved our results drastically by increasing </div>
<div><br></div><div>ERL_MAX_PORTS to 64000 </div><div>+P parameter to a very high number , around 128000 </div><div>Kernel tuning </div><div><br></div><div> With this config on a medium VM we have been able to successfully get to around 60,000 connections, up from 4096 so we are headed in the right direction :-)</div>
<div><br></div><div> MY next question is with Cowboy tuning. I notice that the default max_connections parameter on the TCP transport is 1024 if not set, but I am not hitting this issue. What is the right way to tune NBAcceptor pool and the the max_connections setting for the acceptor ?</div>
<div><br></div><div> Right now my start_listener is simply </div><div><br></div><div><div>cowboy:start_listener(my_http_listener, 200,</div><div> cowboy_tcp_transport, [{port, ?COWBOY_HTTP_PORT}],</div><div> cowboy_http_protocol, [{dispatch, Routes}]</div>
<div> ).</div></div><div><br></div><div>but i have seen some examples with </div><div><br></div><div><div>cowboy:start_listener(my_http_listener, 200,</div><div> cowboy_tcp_transport, [{port, ?COWBOY_HTTP_PORT}, <b><i>{max_connections, infinity}</i></b> ],</div>
<div> cowboy_http_protocol, [{dispatch, Routes}]</div><div> ).</div></div><div><br></div><div>Cowboy tuning seems like the last place i need to look, any thoughts/feedback here on best practices ?</div><div><br></div>
<div>Thanks</div><div>-AD</div><div><br></div>