ejabberd 2.1 vs 3.0 memory consumption

ejabberd is memory bound as session data is kept in RAM for each connected user. This means that available memory is the factor that limits the number of users an ejabberd node can handle. So memory usage was one of the main concern on the ejabberd 3 roadmap.

We’re finally pleased to show some good results on this side.

This shows ejabberd memory usage while running a Tsung benchmark scenario, which simulated users chatting and changing presence using real anonymized rosters, on ejabberd 2.1.11 and 3.0.0. The 2.1.11 crashed early during the test by lack of memory with 45000 connected users while 3.0 was using half the memory at the same time and was able to complete the whole test, handling 60000 users with limited memory usage.

  • Moshroum

    But I have to buy ejabberd3 and cannot use it like ejabberd 2.1, right?

    • You can use ejabberd 2.1, sure. No problem.

      • Moshroum

        No, it was about how to get ejabberd3. I could use ejabberd 2.1 just from my distribution without upstream support, but now I have to license ejabberd from ProcessOne? Because I could not find an actual statement about it on the website (at least I havent found it yet).

        Github only has alpha releases tagged, but the site http://www.process-one.net/en/ejabberd/ talks already about ejabberd 3.0