[ejabberd] ejabberd scalability

Matthew Reilly matthew.reilly at sipphone.com
Thu Aug 18 06:29:57 MSD 2005

We are investigating using ejabberd as a jabber server. We will be
expecting a fairly large user to start with (~10000 concurrent
users) with eventual growth to ~ 1,000,000+ concurrent users.

1) I'm trying to find out how many simultaneous users a clustered
ejabberd environment can handle. Does anyone know of any large
clustered ejabberd environments, or how large the current
largest ejabberd domains are?

I looked through some of the old emails on this list,
and found that:

 Mickaël Rémond tested ejabberd with 7000 simultaneous clients.

 Mickaël Rémond also opinioned a (say 2GB, 3Ghz machine) should be
 able to handle at least 4000 concurrent users/sessions. Could be
 more but this figure is highly dependent of the activity
 intensity of each user/session.

 Alexey Shchepin on 08 Apr 2004 said that At this moment on jabber.ru:
 15k registered, 800 online, processor load 5-7% (CPU 2.66GHz).

 Badlop opinioned that ejabberd should be able to handle 10000 users.

2) How expensive is a erlang thread?

In an old email, Mickaël Rémond stated that each concurrent user
involves creating a erlang thread, but that there is not a
1-1 erlang thread <-> OS thread. I've heard that erlang threads
are lightweight. Does this mean that they only use as much RAM
as needed.

While evaluating the Jive Messenger jabber server, we found it
had a limit of about 4000 users. This was due to Jive creating
a Java thread for each concurrent user. There was a 1-1
Java thread <-> OS thread, and 500K was being allocated for
each thread's stack. At about 4000 users, the process had used
the entire 2GB addressable space available to it. Are erlang
threads more resource savvy than this?

Matthew Reilly
matthew.reilly at sipphone.com
Gizmo Project name: matt 

More information about the ejabberd mailing list