Re: jabberd2 questions?
Derek Taylor <[email protected]>
| Newsgroups | gmane.network.jabber.admin |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 28 Aug 2008, Jack Moffitt wrote: >> I am trying to find out if Jabberd2 Server can support 3000 concurrent >> users. Does anybody know or has done any testing to find out how many >> concurrent users can Jabberd2 support? > >I imagine this is possible, but latency from the database load is >likely going to make it not so great. The database doesn't need to be on the same machine as the jabberd2 processes. We're using a MySQL cluster and believe that this will hopefully be enough to serve ~10000, but we're still in a pilot phase. According to Simon Yeo, jabberd2 has been used to serve 15k users successfully[1]. Our installation has a similar distribution among servers. >> If it cannot support so many users what are the issues due to which it >> cannot scale? What part of the Jabberd2 core needs to be fixed in order >> for it to scale? > >The limiting factor j2 scalability is the session manager (sm) >component. While you can spread the server components out over >multiple machines and run multiple copies of some components (like >c2s), sm cannot be distributed at all. A single machine must be able >to handle all the sessions of the server. > >Also, there are several memory leaks in the session manager that >affected us severely at Chesspark. We had to restart the session >manager (and thus the entire server) about once every two weeks, even >with only a few hundred simultaneous users. I'm not sure if the leak >is exacerbated by our particular usage patterns, but I can't imagine >how often you'd need to restart for 3,000 simultaneous users. > >In addition, if you are using relational database storage as the >backend, even light use of the database can cause noticably packet >latency since the non-blocking server design of j2 is marred by the >blocking database calls. Also, j2 only uses a single database >connection instead of a connection pool. > >If you plan to scale j2, you will need to implement some kind of >database pooling and find and fix the memory leaks if they affect your >usage patterns. I'm sure that with these issues fixed, the j2 session >manager could handle 3,000 simultaneous users. Perhaps you'd have to >add in some memcache to the mix, but that is fairly trivial compared >to the other tasks. > >Bottom line, if I was a consultant and you were my client, I would be >steering you away from jabberd2 and onto something different. Since >my server administration experience has been mainly with jabberd2, I >do not have an alternative suggestion for you, except to say that >we've migrated to ejabberd at Chesspark and have been very happy with >it over the last week. We have not yet run into the memory leak, for whatever reason, but we've only been serving ~50 simultaneous users so far during the pilot. Your experience worries me. >jack. -Derek. [1] <http://mailman.jabber.org/pipermail/jadmin/2006-September/098513.html> _______________________________________________ JAdmin mailing list FAQ: http://www.jabber.org/discussion-lists/jadmin-faq Forum: http://www.jabberforum.org/forumdisplay.php?f=19 Info: http://mail.jabber.org/mailman/listinfo/jadmin Unsubscribe: [email protected] _______________________________________________