powered by Jive Software

Difference between OpenFire and other XMPP servers

Dear All,

I am currently deciding to use between OpenFire and other XMPP servers especially ejabberd. What i like about Openfire is that its java and dont like about ejabberd is that is Erlang.

Anyways, could someone answer a few questions.

  1. Is OpenFire under active development?

  2. Is Openfire stable in production.

  3. How many users can it support. I heard 4500 someplace and someone else said 200,000. which is correct. I would prefer 200,000.

  4. Can you list some companies that are using OpenFire.

Thanks

Vinu

  1. Is OpenFire under active development?

Have a look at the SVN and decide for yourself: http://fisheye.igniterealtime.org/changelog/openfire
Have a look at the git and decide for yourself: https://github.com/igniterealtime/Openfire/graphs/contributors

  1. Is Openfire stable in production.

I believe that Openfire is used in many production environments. But I can’t comment on how stable it is for others. I use Openfire as my personal XMPP server instance and it works for me. Although I am likley going to switch sooner or later prosody, because it’s supports more XEPs (e.g. Stream Mangement) and has a more active developer community.

That doesn’t mean that openfire is bad for production use. It’s just that prosody seems to fit my use-case better then openfire. There sure are cases where openfire is better suited as prosody. It depends on what you want. Note that there are also a few other (open-source) XMPP server software out there.

  1. How many users can it support. I heard 4500 someplace and someone else said 200,000. which is correct. I would prefer 200,000.

There sure is no hardcoded maximum user limit in openfire. It will depend on your hardware and database.

  1. Yes, there have been 3 releases this year, but on average it is probably more like a release every 7 or 8 months. Only you can decide if that is enough ‘active’ development.

  2. Yes. There are definitely stable productions installations being used, but I cannot say what kind of volumes they are used for, my own experience is only in small installations. One of the touted strenghts of Openfire is its ease of installation and setup, I have found it very easy to do both, but I haven’t installed any others to actually compare against.

  3. In addition to what Flow mentioned, this number will vary greatly depending on what those users are doing. Different features will put different loads on the system (simple messaging, MUC, pubsub, roster sizes…and the list goes on). There is a great amount of configuration that can be done, but at least one user shared some of his experiences here. Another question would be whether you want to take clustering into account, as this will increase your overall site performance.

  4. Not many (or any) companies share that information here. As it is open source and users just freely download, there is noone to track who is using the product or in what fashion.

jabberd2 is even easier to install, but not that easy to admin.

I abandoned jabberd2 for OpenFire only because it is much easier to admin the users there. Now “Not Authorized” issue is probably going to push me back or onto another server.

As to stability of Openfire, I am satisfied. In my case it does not require any attention whatsoever since installed.

i just managed to install openfire in a 64bit CentOS machine with MySQL as the database.

Now i am starting to test it.

I am planning to add users(like 50,000) and see if i can do IM between them. Audio/Video is not my priority as of now, maybe later.

  1. A number of very large tier 1 companies in the telecoms and banking sectors use Openfire internally AFAIK. Judging by the roadmap of any typical large company they’ll be using the product for the next 5-10 years so little chance of Openfire disappearing soon.

Useful load testing info here:

http://community.igniterealtime.org/docs/DOC-1539

You can find the user creation plugin in the Openfire repo. It will autocreate 1000s of users with prepopulated lists of contacts etc.

Thanks for the help. I am looking into it now.