6 Replies Latest reply on Jul 18, 2013 1:39 AM by jackeroo

    Openfire scalability

    Christophe Lapoujade

      Is there anybody that already scaled an openfire system with multiple nodes in order to support a huge number of concurrent connections ?

      I would love to have some statistics and user/operator experience on that....as we plan to handle up to 1 million of registered users.

      Thanks a lot for your help.

        • Re: Openfire scalability
          Christophe Lapoujade

          I forgot to say that I already choose to install Hazelcalt plug-in in order to meet this requirement.

          • Re: Openfire scalability
            Daryl Herzmann

            Please describe a common usage of one of the logged in users.  Will they be doing lots of pubsub, lots of server2server, lots of MUC, lots of presence, etc.

              • Re: Openfire scalability
                Christophe Lapoujade

                We plan to have a very small delivered features: chat, presence, buddies list; that's it...

                potentially 1 million of registered accounts..with 300K concurrent connections...with approximativelly 10-20 contacts per  buddies list.

                This is a very optimistic number of registration. It also possible that these numbers could be reduced by 10.

                Thanks for your help

                  • Re: Openfire scalability
                    Daryl Herzmann

                    OK, I would think a having 3-4 beefy modern servers would be sufficient to meet that load, but you would want to figure out a way to produce a test load against that cluster to see how it performs.  There is no magic performance metric for openfire, it entirely depends on the workload the users generate.  Some operations are very 'expensive' and some are not.

                    1 of 1 people found this helpful
                      • Re: Openfire scalability
                        Christophe Lapoujade

                        I forgot to mention that :

                        - we will use a lot group mechanism in order to filter packets

                        - we DO NOT need chat room with multiple users (for now). If one day we plan to handle this, will this impact a lot performance ?

                        -  we DO NOT need server to server communication

                        -  we DO NOT need server to components communication


                        We can imagine to have 10 servers if needed (financial considerations are not mine)

                        do you know if virtualisation has huge impacts on performances


                        Regarding our requirements (presence & chat)...what would be a very expensive operation ?


                        Thanks again for your time

                          • Re: Openfire scalability



                            Hey Christophe, I was wondering whether have you found an answer to this?  I'm planning to scale this up to nearly the same levels


                            Curious to know

                            • which type of hardware are that you have them running on?
                            • are the machines hosted VMs in like AWS?
                            • how many machines are there in the cluster?
                            • what types of storage provider have you setup?  I'm assuming the default MySQL setup
                            • what level of XMPP activities (message/min) does it demand on the cluster


                            A couple of thoughts

                            • Have you dabbled with the Connection Manager?  You can offload and scale horizontally by having the connection manager be able to hold on to more concurrent connections in front of the cluster
                            • How about using HA Proxy or Nginx in front of each instance to help manage and queue the connections?
                            • If the machines are Linux, was the system limit config upp'ed for the openfire user?
                            • Assuming the OpenFire cluster is hooked to MySQL, I'd tweak that quite a bit depending on the hardware and disk