Do you guys know how well openfire scales?
My users will be using the application to do normal chatting like msn no file transfer for now.
We will be using Amazon’s EC2 server to run the chat server we would like to support over 1 Million users in total and around 30-50K active users during peak times.
Since clustering is now opensource, I though Openfire might be the way to go, how much will it cost for the coherence license or can I bipass that somehow?
Also, I wanted to develop plugin for Openfire if we go with it. Any pointers on how to set up a dev env and get going would be helpful too!
We are running Openfire with 45k peak concurrent users on a quad core machine with plenty of overhead. One thing is we heavily make use of multi-user-chat (hundreds of rooms with an average of 200+ users), which as you can guess exponentially increases both traffic and CPU usage. I would imagine if you are just using Openfire for a more normal XMPP usage pattern your number of concurrent users could be much higher.
I have been very impressed with the scalability of Openfire so far. While we have had to introduce some customizations to fix a few problems, we are hoping to be able to get those optimizations merged into trunk for an upcoming release.
I can also say that I have not been overly impressed with the performance of EC2, in regard to I/O in particular. It might be worth checking out some alternatives such as Linode, Slicehost, or others (see this post)
Sorry for the late response
I assume that you did find the documents in this space (Openfire Dev), which explain how to setup Eclipse+SVN to build Openfire.
Oracle may tell you the license costs, $4600 / CPU according to shop.oracle.com for the standard edition which should be fine as far as I can tell. Anyhow Oracle may count all physical CPUs in an EC2 server so this may be a very expensive solution. And you need to modify/fix the clustering plugin to get it work with the current Coherence version.
May one ask what you do that you get 45k concurrent users. That seems massive!
can you explain your setup? i’am trying to setup openfire to handle 30k users on an 8core machine and get out of memory exceptions in masses.