4 Replies Latest reply on Nov 15, 2011 11:55 PM by girish.n

    HornetQ 2.2.5 performance issue

    girish.n

      Hi,

       

      We are experiencing high CPU utilization on JMS writes in new version of HornetQ (2.2.5). From the profiler snapshot we found that NettyConnection.write calls are taking too much time. Please let us know if someone have experienced this before? Please find attached the screenshot of the snapshot.

       

      Also attaching the configuration file for reference.

       

      Please note that this was not present in older (2.0.0.GA) version.

       

      Regards,

      Girish

        • 1. Re: HornetQ 2.2.5 performance issue
          clebert.suconic

          We have replaced the yield logic for a semaphore on Branch_2_2_AS7 and Branch_2_2_EAP (upcoming release).

           

          How are you creating your producer? you have many producers over a single connection? it seems you are competing on the write somehow leading to excessive locking. Maybe you're creating your connections in a wrong manner?

          • 2. Re: HornetQ 2.2.5 performance issue
            girish.n

            Clebert Suconic wrote:

             

            How are you creating your producer? you have many producers over a single connection? it seems you are competing on the write somehow leading to excessive locking. Maybe you're creating your connections in a wrong manner?

             

            Hi Clebert,

             

            Thanks for your reply.

             

            We have two different pools for consumers and producers. Each pool will have connections equals to the pool size. Default value for the pool size is 10. Connections are created using QueueConnectionFactory.createQueueConnection() method. Connections will be shared by consumers or producers in the pool finding out the least used connection in the connection pool.

             

            Do you find anything wrong in the above approach?

             

            Regards,

            Girish

            • 3. Re: HornetQ 2.2.5 performance issue
              clebert.suconic

              1st: can you try the latest version?

               

              You may workaround on the current version by using one connection for each object. Since you are sending it blocking.. it's holding the lock while you send it.

              1 of 1 people found this helpful
              • 4. Re: HornetQ 2.2.5 performance issue
                girish.n

                Clebert Suconic wrote:

                 

                1st: can you try the latest version?

                 

                Hi Clebert,

                 

                We patched the changes for NettyConnection from Branch_2_2_EAP and tested with increased number of connections. Now the CPU utilization is normal. Thanks for your support.

                 

                Regards,

                Girish