[ejabberd] postgres + testing
Matthew Nourse
matthew_nourse at hotmail.com
Tue Feb 22 23:57:50 MSK 2005
Mickael Remond wrote:
>
>Peter Saint-Andre wrote:
<snip>
>>2. Did the team ever make progress on testing the scalability of ejabberd?
>>I'm still interested in perhaps running ejabberd as the jabber.org server,
>>but I recall that there were some issues with
>>memory usage at higher loads (at jabber.org we typically have 11k+
>>connected users and 1300+ connected servers).
>
>Regarding the benchmark, I had to stop for some time. When I stop, I had
>finished the script to create a user base with typical roster distribution
>size. I now need some time to run the benchmark. It will probably require
>several launch to get a nice load increase that does not kill the Jabber
>server too fast but that still go slowly to the breaking point.
>Your mail is a strong inventive to relaunched this work on my part.
>
>Regarding memory usage, there is still a problem remaining that show
>abnormal use of memory. we are working on the problem currently and the
>benchmark setup is clearly a good step in helping us identifying the
>conditions of the problem.
>
>I am planning to work with the Erlang team to help us find out what the
>problem is.
>
I did some scalability tests of ejabberd last night. I was using the
"smack" java client library from www.jivesoftware.org to log users in and
keep them connected. The users weren't sending any messages, just logging
in and staying idle.
The most intriguing thing was that the number of users that I could log in
seemed to increase as I increased the maximum number of Erlang processes.
The most users I could connect at one time was about 3500, with these
settings:
export ERL_OPTIONS="-heart +P 268435455 +K true"
export ERL_MAX_PORTS=65000
Ejabberd would refuse to accept new connections after about 3500 users were
connected. I couldn't even open a socket to it by telnet'ing to 5222.
Before I set the +P option, I could log in about 500 users. When I set it
to 250,000 I could log in about 1800 users.
The "users" were logging in at a rate of about 1 or 2 per second.
I'm using mnesia for the roster but will soon switch to LDAP or (ideally)
postgres.
I'm running Debian Sarge with a 2.6 kernel on a 3 Ghz P4 with 1 gig of RAM.
I wasn't running out of memory...with 3500 connected users, ejabberd was
using about 50 meg and total memory usage was about 500 meg.
If you'd like me to re-run my tests and/or modify the tests in some way,
please let me know.
Kind Regards, Matt
More information about the ejabberd
mailing list