[ejabberd] How to handle more than 30000 mobile connections on one EC2 large instance ?

Vincent Barat vbarat at ubikod.com
Tue Sep 28 21:09:57 MSD 2010

Hi everybody,

We are running 2 eJbaberd 2.1.0 servers on one EC2, large instances 
(8 GB RAM). These 2 servers handle nearly 25000 XMPP connections 
from mobile devices.

Because we handle mobile device connections, we face the following 
issue: the servers open and close a LOT of connection each second 
(from 10 to 20) because connections are not stable. When we start to 
reach 20000 simultaneously connected users, the time eJabberd take 
to open the incoming C2S socket increase until 50s. (i.e. 50s to see 
this first damned <stream> stanza  !). Once the socket has been 
opened, the signin process itself is fast.

What is interesting to note: the EC2 instance itself is not slow, 
and opening any other incoming socket (e.g. SSH) is FAST.

So the question is: do you know how to improve the time needed by 
eJabberd to ACCEPT an incoming connection ?

My configuration:

Mnesia (I don't think that using SQL would improve, since we don't 
have any roster, but I need some advice here...

All standard modules have been deactivated. Here is our typical .cfg 
   {mod_adhoc,    []},
   {mod_disco,    []},
   {mod_version,  []}

We are using  Erlang R13B04 (erts-5.7.5) [source] [64-bit] [smp:2:2] 
[rq:2] [async-threads:0] [kernel-poll:false]

Thanks for your help

More information about the ejabberd mailing list