6 Replies Latest reply on Jan 5, 2007 11:22 PM by batter

    1.2Beta: performance test deploy-destination steps gives cla

    batter

      Trying to run the performance tests against the 1.2 beta and seeing the below exception when I execute the ant deploy-destinations step.

      12:59:52,380 ERROR [MainDeployer] Could not create deployment: file:/C:/Program Files/jboss-4.0.5.GA/server/messaging/deploy/messaging-destinations-service.xm
      l
      org.jboss.deployment.DeploymentException: No ClassLoaders found for: org.jboss.jms.server.destination.Queue; - nested throwable: (java.lang.ClassNotFoundExcep
      tion: No ClassLoaders found for: org.jboss.jms.server.destination.Queue)
       at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:196)
       at org.jboss.system.ServiceController.install(ServiceController.java:226)
       at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy4.install(Unknown Source)
       at org.jboss.deployment.SARDeployer.create(SARDeployer.java:249)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
       at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy6.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
      Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jms.server.destination.Queue
       at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:306)
       at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:511)
       at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
       at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:1204)
       at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java:286)
       at org.jboss.system.ServiceCreator.install(ServiceCreator.java:193)
       at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:449)
       at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:171)


        • 1. Re: 1.2Beta: performance test deploy-destination steps gives
          ovidiu.feodorov

          I actually haven't tested the framework with 1.2 yet, so you're running into an incompatible deployment descriptors situation.

          Update the destination deployment descriptors to be compatible with 1.2. Look at those that come with 1.2.

          • 2. Re: 1.2Beta: performance test deploy-destination steps gives
            batter

            OK, changed it as below; step 0 (drain) always fails and I had to add a

            <execution provider="JBossMQ"/>

            to the 0Kb throughput test to actual be able to compare the two. I noticed that only this test turned is on by default in perf.xml.
            Also noticed that my receive rate is higher than my send rate, impressive :-)

            Anyways the output I was able to generate, let me know if that is what you would expect and again, thanks for the help (differences between MQ and messaging seems rather small (~5%) in the particular test):

             [java] 13:51:09,937 INFO [PerformanceTest]
             [java] 13:51:09,937 INFO [PerformanceTest] PerformanceTest[Throughput O KB Message Non-Persistent Non-Transactional, 1 sender, 1 receiver](JBossMessagin
            g, JBossMQ)
             [java] 13:51:09,937 INFO [PerformanceTest]
             [java] 13:51:10,093 INFO [PerformanceTest] executor rmi://localhost:7777/remote on-line
             [java] 13:51:10,109 INFO [PerformanceTest] executor rmi://localhost:7777/local-messaging on-line
             [java] 13:51:10,109 INFO [PerformanceTest] executor rmi://localhost:7777/local-messaging2 on-line
             [java] 13:51:10,109 INFO [PerformanceTest]
             [java] 13:51:10,109 INFO [PerformanceTest] Execution 1 (provider JBossMessaging)
             [java] 13:51:10,187 WARN [PerformanceTest] job DRAIN JOB failed: null
             [java] 13:51:10,187 INFO [PerformanceTest] 0. FAILURE
             [java] 13:51:10,187 INFO [PerformanceTest] 1. PARALLEL
             [java] 13:51:15,250 INFO [PerformanceTest] SEND JOB sent 1000 messages in 5001 ms with a target rate 200 messages/sec, real rate 199.96 messages/sec
            
             [java] 13:51:15,250 INFO [PerformanceTest] RECEIVE JOB received 1000 messages in 4969 ms with a target rate 0 messages/sec, real rate 201.25 message
            s/sec
             [java] 13:51:15,250 INFO [PerformanceTest] 2. PARALLEL
             [java] 13:51:17,797 INFO [PerformanceTest] SEND JOB sent 1000 messages in 2500 ms with a target rate 400 messages/sec, real rate 400.0 messages/sec
             [java] 13:51:17,797 INFO [PerformanceTest] RECEIVE JOB received 1000 messages in 2485 ms with a target rate 0 messages/sec, real rate 402.41 message
            s/sec
             [java] 13:51:17,797 INFO [PerformanceTest]
             [java] 13:51:17,797 INFO [PerformanceTest] executor rmi://localhost:7777/remote on-line
             [java] 13:51:17,812 INFO [PerformanceTest] executor rmi://localhost:7777/local-jbossmq on-line
             [java] 13:51:17,812 INFO [PerformanceTest] executor rmi://localhost:7777/local-jbossmq2 on-line
             [java] 13:51:17,812 INFO [PerformanceTest]
             [java] 13:51:17,812 INFO [PerformanceTest] Execution 2 (provider JBossMQ)
             [java] 13:51:17,859 WARN [PerformanceTest] job DRAIN JOB failed: javax.naming.Reference
             [java] 13:51:17,859 INFO [PerformanceTest] 0. FAILURE
             [java] 13:51:17,859 INFO [PerformanceTest] 1. PARALLEL
             [java] 13:51:23,047 INFO [PerformanceTest] SEND JOB sent 1000 messages in 5016 ms with a target rate 200 messages/sec, real rate 199.36 messages/sec
            
             [java] 13:51:23,047 INFO [PerformanceTest] RECEIVE JOB received 1000 messages in 5016 ms with a target rate 0 messages/sec, real rate 199.36 message
            s/sec
             [java] 13:51:23,047 INFO [PerformanceTest] 2. PARALLEL
             [java] 13:51:25,719 INFO [PerformanceTest] SEND JOB sent 1000 messages in 2609 ms with a target rate 400 messages/sec, real rate 383.29 messages/sec
            
             [java] 13:51:25,719 INFO [PerformanceTest] RECEIVE JOB received 1000 messages in 2640 ms with a target rate 0 messages/sec, real rate 378.79 message
            


            Here is my updated destination.xml file:

            <?xml version="1.0" encoding="UTF-8"?>
            
            <!--
             The JBoss Messaging performance test destinations.
            
             $Id: messaging-destinations-service.xml 895 2006-04-20 04:07:01Z ovidiu $
             -->
            
            <server>
            
             <loader-repository>jboss.messaging:loader=ScopedLoaderRepository
             <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
             </loader-repository>
            
             <mbean code="org.jboss.jms.server.destination.QueueService"
             name="jboss.messaging.performance:service=Queue,name=simpleQueue"
             xmbean-dd="xmdesc/Queue-xmbean.xml">
             <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
             <depends>jboss.messaging:service=PostOffice</depends>
             </mbean>
            
            
             <mbean code="org.jboss.jms.server.destination.QueueService"
             name="jboss.messaging.performance:service=Queue,name=largeQueue"
             xmbean-dd="xmdesc/Queue-xmbean.xml">
             <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
             <depends>jboss.messaging:service=PostOffice</depends>
             <attribute name="FullSize">500000</attribute>
             </mbean>
            
             <mbean code="org.jboss.jms.server.destination.QueueService"
             name="jboss.messaging.performance:service=Queue,name=pagingQueue"
             xmbean-dd="xmdesc/Queue-xmbean.xml">
             <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
             <depends>jboss.messaging:service=PostOffice</depends>
             <attribute name="FullSize">75000</attribute>
             </mbean>
            
            
            </server>
            


            • 3. Re: 1.2Beta: performance test deploy-destination steps gives
              timfox

              One word of warning: I wouldn't expect any great performance from beta - it's completely unoptimised and we have made some major changes since then anyway regarding message delivery etc. and there are more to come. But it's a good exercise to get the performance framework up and running :)

              • 4. Re: 1.2Beta: performance test deploy-destination steps gives
                batter

                 

                "timfox" wrote:
                One word of warning: I wouldn't expect any great performance from beta - it's completely unoptimised and we have made some major changes since then anyway regarding message delivery etc. and there are more to come. But it's a good exercise to get the performance framework up and running :)


                Of course, I realize that and am not looking at it too seriously; for me it is more a plaything to get acquainted with this whole thing.

                • 5. Re: 1.2Beta: performance test deploy-destination steps gives
                  ovidiu.feodorov

                   

                  batter wrote:
                  Also noticed that my receive rate is higher than my send rate, impressive :-)


                  Please make sure that you're not in a local singularity area, where the time-space continuum is distorted.

                  :)

                  The story behind the framework is that we wanted to introduce a new kind of tests, the performance test, so it can be automated and systematically run before each major release, and so help us to keep a documented track of how key performance metrics evolved over time and warn us if we majorly screwed up, or allow us to pat ourselves on the back otherwise.

                  The framework is infrastructure for that (you may have noticed that is intended to save data series in a database).

                  Unfortunately (or better said, unfortunately for the time being), the amount of raw functionality to be implemented in the main code base exceeds our resource pool, so the whole performance measuring and monitoring thing has (and I must stress, temporarily) fallen down the priorty list.

                  Once we're feature complete after 1.2, we plan to return to the performance framework and make it more solid. If you're interested in this area, and have ideas on how to improve things, please feel free to contribute them, they are appreciated. Better yet, code them ...



                  • 6. Re: 1.2Beta: performance test deploy-destination steps gives
                    batter

                    I'll keep that in mind when / if I can convince my team to go this route :-)