Erlang/OTP Forums

Author Message

<  Advanced Erlang/OTP  ~  Performance of Erlang Diameter 1.0

Kabir
Posted: Mon Apr 02, 2012 5:49 pm Reply with quote
Joined: 02 Apr 2012 Posts: 2
Recently, I am evaluating the performance of Erlang Diameter 1.0 in OTP release 15. I uses the example code to create a simple server. What it does is just to send 2001 back for each request from a client.

The purpose of the evaluation is to seek the possibility of adopting it for new projects. Its performance is compared against an in-house Diameter stack written in C++.

Erlang emulator is compiled and running with hipe, async threads and kernel pool. The OS is Linux 2.6.18 (a RedHat distribution).

However, the result shows that Erlang Diameter performs much slower. With 3600 Diameter messages per second, Erlang is using 100% of CPU while the in-house Diameter stack is only using 5%. Even after a brief code inspection in the Diameter stack, I found that diameter_watchdog is restarting timer for every single request it receives, which is a bit excessive. However, that doesn't seem to be the key bottleneck.

I was wondering. Has anyone else done the similar experiment? I am curious about how others evaluate Erlang Diameter stack.

PS. eprof doesn't work for some reason. Whenever I try to stop profiling, it causes segmentation fault.
View user's profile Send private message
Kabir
Posted: Mon Apr 02, 2012 9:38 pm Reply with quote
Joined: 02 Apr 2012 Posts: 2
Frankly, I was expecting Erlang to take 4 times more CPU time. But spending 20 times more is just a shock to me.
View user's profile Send private message

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum