Hi there.
Being a newbie to Ejabberd (and Erlang for that matter), I have a few (possibly stupid, but bear with me please!) questions about how best to configure Ejabberd.
Currently, I have Ejabberd installed as a single node, running on a Windows 2008 server with 6G RAM.
This installation is as per the biniary installer (2.1.5), with the below modifications:
1 - Using MySQL backend for mod_last_odbc, mod_roster_odbc, mod_vcard_odbc and mod_archive_odbc.
2 - MySQL db running on a dedicated Ubuntu 8.0.4 box.
3 - ejabberd_xmlrpc added for remote user creation
4 - Base config changes:
in-band registration disabled
loglevel = 2
5223 connector disabled
auth = odbc
odbc_pool_size = 100
mod_pubsub disabled (as I understand it, this is not neccessary for simple 1 to 1 chats)
mod_service_log, mod_shared_roster,mod_stats disabled.
5 - Using defaults for ELANG_MAX_PORTS/PROCESSES/ETS_TABLES
Everything runs absolutely fine, until we get to ~1400 concurrent users.
At this point, we get the (seemingly common) "Erl.exe has stopped working", with the follwoing written to the crash log:
Slogan: eheap_alloc: Cannot allocate 8414160 bytes of memory (of type "heap").
I have done as much reading about this as possible, but cannot seem to find a definitive answer. The one that does seem to be cropping up is that we need to move our node onto a Linux server, which we are tee'd up and ready to do, but which I am uncomfortable with, given we don't really know 'why' these Erlang crashes are occurring.
Another suggestion was to lower the priority for messages, but how to do this is still a bit of a mystery to me.
I've been banging my head on this for 3 days now, with no real success to speak of.
Please, if any of you have come across this, and have found a resolution and optimal config, I'd be most grateful for some pointers.
Thanks and regards.
Gravy