[ejabberd] More virt host woes.
jesse.thompson at doit.wisc.edu
Thu Feb 7 17:58:48 MSK 2008
Pedro Melo wrote:
> If you are a hosting company or an ISP and want to offer XMPP hosting
> to your clients then you need to host thousands of domains in a
> single ejabberd cluster.
> Doing that with current ejabberd is impossible.
Obviously you can run multiple domains in a single ejabberd cluster.
We're running 15 currently. There are limitations to running many
domains, but is it really impossible to run thousands? Maybe it would
be better for everyone if we stick to addressing the issues, rather than
declaring the task impossible.
* You can't add domains without restarting ejabberd. We schedule
restarts during our weekly maintenance window to add new domains.
* You might run into file descriptor limits. We had to compile
erlang/ejabberd as 64-bit to keep from running into a file descriptor
limit bug in 32-bit Solaris libc.
* ODBC/LDAP connections aren't pooled across vhosts. But you don't need
to use ODBC. We use use an external authentication script (one instance
per vhost) that authenticates against LDAP and also has some additional
authnz logic specific to our environment. We use Mnesia for rosters and
* Memory requirements. We managed to get ejabberd to consume 4 GB of
memory during a load test. We worked around this by tuning Mnesia
* Certificate management. The XMPP specification requires that the cert
match the domain, not the server. This makes it very difficult for
I'm still new to ejabberd, so I'm sure that there are more issues
lurking under the surface. However, our load testing has shown that it
is possible to run at least a few hundred domains in single ejabberd
instance, which meets our requirements for future growth.
More information about the ejabberd