[erlang-questions] Ssl tuning

Sergei Fomin <>
Fri Apr 13 17:24:43 CEST 2012


We tried some load testing of erlang ssl and have some questions.

The bench is Xeon with 24 cores, otp R15B and modified mochweb server.
Mochiweb acceptor is modified to do gen_tcp:accept, start new acceptor 
and call ssl:ssl_accept. Original mochiweb acceptor calls 
ssl:transport_accept, ssl:ssl_accept and only then spawns new acceptor.
The server accepts requests and answers 200 immediately.

First iteration.
When load rate reached 1300 rps ssl_connection_sup process began to 
accumulate message queue.

Second iteration.
I moved all ssl_connection initialization code from init to separate 
function, the call to which was triggered by message send from init 
(simply delayed init). This way ssl_connection_sup was just spawning 
ssl_connection process and sending init message to it.
Ssl_manager process became the new bottleneck. The threshold load rate 
increased insignificantly.

According to top all cores had load ~60%.

Any ideas how to tune ssl noninvasively to achieve more results?

Sergei Fomin

More information about the erlang-questions mailing list