5 Replies Latest reply on Mar 6, 2013 3:09 AM by ffang

    Optimum Bundle number in a single ESB instance

    lekkie_lomotayo

      Hi,

       

      I was just wondering how many OSGi bundles is the optimum number to be deployed in a single ESB container? In my workplace we have as many bundles as a hundred and we have all of them in a single ESB.

       

      Assuming we are planning to take them to production, what is the optimum bundle numbers to put in a single ESB instance?

       

      Regards.

        • 1. Re: Optimum Bundle number in a single ESB instance
          ffang

          Hi,

           

           

          IMO the answer lies on how powerful your machine is and how big the MEM size you specified for the FUSE ESB, there's no certain limitation in terms of the bundle number in a single ESB process.

           

          Freeman

          • 2. Re: Optimum Bundle number in a single ESB instance
            lekkie_lomotayo

            While this may be true, I have discovered that no matter how much resource you throw to a system, there is a drop in performance especially at startup.

             

            What I found out was that OSGi bundles that depends on OSGi service takes forever to startup sometimes up to 25minutes because they are waiting for the OSGi service to startup.

             

            Some of these OSGi bundles wait and time out and hence mostly requires manual restart from the gogo console. This is despite the fact that the server has enough resources (6GB, 100GB, 64Bit OS, 2.4GHz Quad core).

             

            We have 114 OSGi bundles on this server. Again, is this optimal? Note that when the bundles eventually come up, they work fine and there is no sign of overload on the server.

            • 3. Re: Optimum Bundle number in a single ESB instance
              ffang

              Hi,

               

              What happened to your server definitely not caused by the bundle numbers, must be something else, though can't tell so much now from what you've provided, you need figure out what service not available cause the timeout and try to resolve it.

               

              FYI, our FUSE ESB full kit by default will start about 300 bundles and it only takes me 10 secs to launch it.

               

              Freeman

              • 4. Re: Optimum Bundle number in a single ESB instance
                lekkie_lomotayo

                From the service mix log, I could see the failed bundle waiting for the osgi service. It is usually printed in the servicemix log.

                 

                I typically see this:

                 

                OsgiBundleXmlApplicationContext(bundle=mobile-money-service-iso8583, config=osgibundle:/META-INF/spring/*.xml) is waiting for unsatisfied dependencies [[&systemUtilsApi, &systemDAOApi, &systemConstantsApi, &systemRoutesManagementApi, &systemHTTPConnectionApi, &systemSecurityApi, &systemDataConnectionApi, &mobileMoneyDataTransformApi, &mobileMoneyConstantsApi, &systemKeyManagementApi, &systemAspectAdviceApi, &externalSystemSecurityApi, &internalSystemSecurityApi]]

                 

                where the unsatisfied dependencies are OSGi services in the registry. These services are exposed in another OSGi bundle.

                 

                What I see in the servicemix log is all the bundles waiting for this unsatisfied dependencies. This wait takes up to 25mins or 30mins sometimes when these waiting OSGi bundles would have failed to start by then. It is a very strange behaviour.

                • 5. Re: Optimum Bundle number in a single ESB instance
                  ffang

                  Hi,

                   

                  You need check out why that bundle which provide services started too slow.

                   

                  Freeman