[ejabberd] server design questions

Jesse Thompson jesse.thompson at doit.wisc.edu
Fri Jul 27 22:12:35 MSD 2007


I have a few question about server design with ejabberd.

ejabberd appears to be the most qualified server to handle the type of
service I plan to deploy.

- We have one large email domain that consists of around 45K active
users.  We also run a hosted email domain service (within the same
environment) for a few hundred domains, consisting of around 10K active
users total.  Our plan is to offer a chat service as an option to all of
our domains.

- Authentication will go against our existing LDAP environment, using
the same uid/password as the email accounts.  I plan to use an
authentication script for to check for eligibility prior to verifying
the authentication information.

- I would like to install ejabberd as a cluster in Solaris 10 zones on
our existing email servers.  I plan to use a layer 4 switch with a
virtual IP address for load balancing.

a) At what point should I consider using something other than Mnesia and
local disk for data storage?  How does Mnesia compare to the other
database options?  I like that Mnesia is able to cluster easily.  We
have an Oracle cluster that I could use, but I don't necessarily want to
rely on it(*).  I noticed that jabber.org is using Postgres...

b) If Mnesia is used, how much local disk should I allocate?  I know
this is hard to predict without knowing how the system will be used.
What is the average space used per user?  What else takes up significant
space... group chat logging?

c) Regarding disk I/O?  Is there a need for fibre channel storage?  I
could hook up to our storage area network, but again, I don't
necessarily want to rely on it(*).

d) Is it possible to configure 2 virtual domains to both use Mnesia, but
use different disk paths for the data storage?  This way I could have
most of the domains on the SAN, and one fall-back domain to use for SAN

e) Regarding clustering... at what point should I consider using
clustering?  Does it raise any instability concerns?  Given our
potential active user population (which should be smaller than
jabber.org) would I need to cluster more than 2 servers?

f) Does it matter (or improve performance and stability) if our load
balancing switch hashes client sessions to the same server every time?
Or can it do a round-robin or least-connections balancing algorithm?

(*) I'd like to keep this chat service an independent of our existing
infrastructure as possible since it will be the primary method of
communication for the administrators responsible for restoring downed

Thanks in advance!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3304 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.jabber.ru/pipermail/ejabberd/attachments/20070727/8b4de480/attachment.bin 

More information about the ejabberd mailing list