How ejabberd 13.10 server is better than ejabberd previous versions in terms of performance?

StackOverflow https://stackoverflow.com/questions/20743861

  •  20-09-2022
  •  | 
  •  

Question

I am working in android application development using ejabberd-2.1.13 as a server for my android application. I heard that ejabberd-13.10 is better in performance compare to previous versions.So I installed ejabberd-13.10 in my ubuntu machine.To ensure performance of ejabberd-13.10 I did performance test for different ejabberd servers(ejabberd-2.1.13 & ejabberd-13.10) using fprof tool as described in following link.(http://carbonshaft.blogspot.in/2011/11/erlang-using-fprof-profiler-to-drive.html) .But I get latest ejabberd server (ejabberd-13.10) show slow performance compare to ejabberd-2.1.13.Could you please advice how the ejabberd-13.10 server is better in performance?

Was it helpful?

Solution

13.10 is better by the simple fact 2.1.x branch is officially deprecated and abandoned.

This means two simple things:

  • No new version in the 2.1.x will be released.
  • Bugs found in 2.1.13 might not get fixed.

Also I would suggest not profiling but rather measuring the real-life performance using a suitable tool, such as tsung. The problem with profiling two different code bases is that you're comparing apples to oranges. Things like memory consumption (declared to be greatly reduced in 13.x due to switching from strings to binaries) do count in real-world scenarios when you intend to host thousands of concurrent connections. Also note that programs like ejabbed do really tend to be memory- and I/O-bound, not CPU-bound (the latter usually indicates you've managed to trigger a bug in the program or runtime) so mere profiling might not be indicative, only stress testing the staging or production server would.

OTHER TIPS

Starting with ejabberd 13.x, several optimisations have been performed:

  • Optimization of the memory consumption.
  • Optimization of the performance of some important modules, like pubsub.
  • Better Multi User Chat performance and lower latency.
  • Multicast routing optimization.

In term of performance, ejabberd 15.07 for example is 2 to 3 time more efficient on all the parameters: Memory, latency, CPU.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top