powered by Jive Software

Scaling?

Among the claims of Jive Messenger is “great performance and scalability”.

Can someone point me at anything that describe the scalability of jive messenger as compared to, say, jabberd 1.4 or jabberd 2?

Russ,

In our latest load tests, Jive Messenger is able to process many thousands of messages a second. Performance is pretty much on part with the latest versions of jabberd on those tests (perhaps slightly slower in some cases)? In any case, are there some particular performance metrics you’‘re trying to meet? Since a performance matrix doesn’'t currently exist, it might be best to start from that direction.

Regards,

Matt

Personally, a couple of performance metrics that I will be needing to test (one day hope to get around to doing it) is

  • How well does it support 100 users in just 1 room and chatter every 2 to 7 seconds by each user.

  • How well does it support 100 users per room with 10 rooms and chatter every 15 to 60 seconds by each user.

  • How well does it support 15 users per room with 200 rooms and chatter every 15 to 60 seconds by each user.

  • Chatter means a single message between 1 and 10 words long in length.

  • Performance measured in

— whether the server croaks or not

— cpu usage

— ram/memory usage

— disk i/o % (as measure by top)

— amount of time it takes for the system to catch up

Of course for me these tests need to be done for 4-cpu 3Ghz Intel processors with 8gig of ram but would be nice to see how well these types of performances work on other systems as well.

When I hear “scalable”, I tend to think in terms of handling tens or hundreds of thousands of simultaneous users, presumably by spreading the load among multiple servers, preferably using a single domain, and employing dynamic load balancing. That’'s the sort of solution that Antepo OPN and Jabber, Inc. provide.

There has lately been some discussion with respect to modifying jabberd2 so that it can also do “clustering”, both for fault tolerance and for scaling.

Having an efficient XMPP server that’‘s limited to a single instance per domain – that’‘s very good, but it doesn’'t really qualify as being “scalable”, at least not to me.

rschnapp,

If you do a search for “clustering” in this forum, you’‘ll find several discussions. In general, I definitely agree with you. What I find interesting is that no XMPP servers truly provide clustering. This includes all the commercial servers. The one partial exception appears to be ejabberd, which can cluster certain data such as sessions, but not all services such as MUC. The general solution used by commercial servers is to coalesce client connections using specialized router servers. Clients connect to the routers and then the routers make one or two connections to a central server. The central server does all packet processing but doesn’‘t have to deal with the overhead of communicating to tens of thousands of client connections. This model provides scalability up to hundreds of thousands of connections. We’‘ll likely support it pretty soon. Still, I don’'t consider that to be “clustering”, which would mean the ability to fully share all state between multiple core servers.

So, if you need scaling to hundreds of thousands of users now, Jive Messenger isn’‘t the solution for you. We hope to be able to support that architecture in the near future, though. Longer term, we’'re investigating how feasible true clustering is.

Regards,

Matt

ejabbered (nor anything else we have tried) can not support numbers in the 200k concurrent range. we have tried them all just about (took forever and a half to really get ejebbered to even setup following their simple easy to use instructions _).

if you really need muc capabilities along that scale you should look at a pure irc daemon which have lots of nice scalability software and such out there already and have been proven to work.

for our needs we can control which servers people need to goto in order to find the room that they desire. it is more along the lines of needing something that supports a few rooms with hundreds of people and a LOT of rooms supporting maybe 2 - 10 people. The few big rooms will have not a whole lot of talking going on really. The many small rooms will have lots of very fast pasted (multiple messages per second) messages flying back and forth among like 2 to 4 people really (probably just 2 when it turns to reality).

Message was edited by:

sepatel