5 Replies Latest reply on Jul 6, 2013 12:36 AM by ffang

    Fuse performance and how to boost it up?

    sergey.korn

      Hello,

       

      Weare currently evaluating Fuse Enterprise ESB.

      We have built a small "proof of concept" application with an ESB route that reads messages from Active MQ and sends them on to a web service.

      The route works fine. However when we try to speed the process up by adding extra CPU power or memory - nothing is changing.

      We are stuck at 5 messages per second. The messages are already present on the queue so the route just have to read them.

      Our goal is 10 messages per second. We started with 2 CPU cores and 2G of RAM and we ended with 8 cores and 16G RAM but we are still at 5 messages per second.

      My question is, why does the ESB make no use of the extra resources added to the server.

      Note, it runs on a virtual server (VMWare) running Linux Ubuntu (the latest).

       

      I really hope to hear from your.

       

      Kind regards,

      Sergey

        • 1. Re: Fuse performance and how to boost it up?
          willem.jiang

          Are you using Camel to do the routing thing?

          Can you show us your route?

          • 2. Re: Fuse performance and how to boost it up?
            sergey.korn

            Hi, yes we use Apache Camel for the routing.

            Just to be sure, the problem is this route handles 5 messages per second on a machine with 1 CPU core and on a machine with 8 CPU core.

            Also adding memory to the server doesn't effect the performance.

            Here's the route:

             

            <route id="replicatie-poc-route-1">

                      <from uri="activemq:queue:replicatiePoc-1" />

                      <choice>

                                <when>

                                          <xpath>/CEDBVPF:POC_CEDBVPF</xpath>

                                          <to uri="bean:pOCCEDBVPFHandler?method=handlePOCCEDBVPFMessage" />

                                </when>

                                <when>

                                          <xpath>/CEDBYPF:POC_CEDBYPF</xpath>

                                          <to uri="bean:pOCCEDBYPFHandler?method=handlePOCCEDBYPFMessage" />

                                </when>

                                <when>

                                          <xpath>/CEDS1PF:POC_CEDS1PF</xpath>

                                          <to uri="bean:pOCCEDS1PFHandler?method=handlePOCCEDS1PFMessage" />

                                </when>

                                <when>

                                          <xpath>/CEDTKPF:POC_CEDTKPF</xpath>

                                          <to uri="bean:pOCCEDTKPFHandler?method=handlePOCCEDTKPFMessage" />

                                </when>

                                <otherwise>

                                          <to

                                                    uri="file:work/replicatie-poc/xpath-errors?fileName=message_${date:now:yyyyMMddhhmmss}-${exchangeId}.xml" />

                                </otherwise>

                      </choice>

            </route>

            • 3. Re: Fuse performance and how to boost it up?
              willem.jiang

              How did you configure the activemq component?

              Did you try to use the pool connector as camel-activemq component[1] suggested?

               

              [1]http://camel.apache.org/activemq.html

              • 4. Re: Fuse performance and how to boost it up?
                sergey.korn

                Hi,

                 

                We have found out that the disk I/O is out bottlneck.

                Since we are using persistent messages the disk I/O performance is critical.

                After we have upgraded the HDD the problem was solved.

                • 5. Re: Fuse performance and how to boost it up?
                  ffang

                  Hi,

                   

                  Thanks for the feedback and sharing the solution!

                   

                  Freeman