[jdev] Missing XMPP Library, Server, and Client

Elvir Bahtijaragic elvir at bahtech.com
Wed Aug 27 03:05:36 UTC 2014

That's a great idea, we'll publish the load testing tools soon. For KIXMPP, we've prioritized the implementation of features in the spec based on our needs - we're hoping to get the open source community involved to help us complete it and add features such as server-to-server federation.

As for the spaces vs. tabs issue - we have some engineers using Eclipse and some using Intellij; it's an unfortunate side-effect. KIXMPP is probably due for a project-wide format fix. ;)



From: JDev <jdev-bounces at jabber.org> on behalf of Waqas Hussain <waqas20 at gmail.com>
Sent: Tuesday, August 26, 2014 7:27 PM
To: Jabber/XMPP software development list
Subject: Re: [jdev] Missing XMPP Library, Server, and Client

On Tue, Aug 26, 2014 at 9:50 PM, Elvir Bahtijaragic <elvir at bahtech.com<mailto:elvir at bahtech.com>> wrote:

Hi Waqas,

Actually the project was added about 3 months ago (https://github.com/Kixeye/kixmpp/graphs/commit-activity).

This project has an interesting history. Initially it started as an efficient load testing client for testing Openfire - we are able to simulate 15000 clients on a xlarge instance on AWS. Other XMPP clients were unable to handle a large number of XMPP clients on a single instance, i.e. Smack had tons of memory leaks and Tigase was extremely inefficient in processing stanzas. Soon after load testing Openfire we realized that it performs extremely poorly under load and is completely unstable in a clustered environment. So we dropped Openfire and implemented our own XMPP server - using high-performance computing design patterns. Our requirement was to reach 500,000 simulated chatting clients - but we never actually hit a limit in our load tests. Based on our load testing parameters: a million simulated clients caused the server to output 230,000 message stanzas per second with a load average of 6 on a 32 core box using only 30% memory on average.

Thanks! We will add more documentation soon. Currently it's meant to be used as a library and enable any Java application to embed a XMPP client or XMPP server.


Elvir B.

That's very informative. The performance and memory usage numbers are impressive. It would be great if you could publish your load testing tools as well, so other server vendors can compare. I know I'd like to benchmark Prosody, the server I work on.

Unless I missed it, the server is missing server-to-server federation. Is this something you plan to add?

Again, great job on the project and thanks for releasing this. I like the code quite a bit. My biggest complaint so far is mixed tabs and spaces in many of the files :)

Waqas Hussain

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20140827/d819a872/attachment-0001.html>

More information about the JDev mailing list