10 Replies Latest reply on Feb 26, 2008 8:38 AM by ataylor

    Error running in performance messaging benchmark framework

    singhal_ashwani

      Hi,

      I am getting the problem on running the performance benchmark framework dowloaded from
      http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossJMSNewPerformanceBenchmark

      I am using the JBM 1.4.1.Beta1 and Jboss 4.2.0.GA.

      Following is the log on running the "ant run" command.

      C:\messaging-perf>ant run
      Buildfile: build.xml

      check.inhibit.downloads:

      createthirdparty:

      run:

      run:
      [echo] perf.classpath: C:/messaging-perf/etc:C:/messaging-perf/lib/jboss-j2ee.jar:C:/messaging-perf/lib/jboss-j2se.jar:C:/messaging-per
      f/thirdparty/apache-log4j/lib/log4j.jar:C:/messaging-perf/thirdparty/jfreechart/lib/jfreechart.jar:C:/messaging-perf/thirdparty/jfreechart/l
      ib/jcommon.jar:C:/messaging-perf/thirdparty/junit/lib/junit.jar:C:/messaging-perf/thirdparty/hsqldb/lib/hsqldb.jar:C:/messaging-perf/thirdpa
      rty/jboss/common/lib/namespace.jar:C:/messaging-perf/thirdparty/jboss/common/lib/jboss-common.jar:C:/messaging-perf/thirdparty/jboss/common/
      lib/jboss-common-client.jar:C:/messaging-perf/thirdparty/jboss/remoting/lib/jboss-remoting.jar:C:/messaging-perf/output/classes

      runner:
      [java] 15:01:16,904 INFO [PerformanceTest]
      [java] 15:01:16,904 INFO [PerformanceTest] PerformanceTest[Ping](JBossMessaging, JBossMQ)
      [java] 15:01:16,904 INFO [PerformanceTest]
      [java] 15:01:18,076 ERROR [PerformanceTest] executor rmi://localhost:7777/messaging failed
      [java] java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
      [java] java.net.ConnectException: Connection refused: connect
      [java] at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574)
      [java] at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
      [java] at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
      [java] at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
      [java] at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
      [java] at org.jboss.jms.perf.framework.remoting.rmi.RMICoordinator.sendToExecutor(RMICoordinator.java:85)
      [java] at org.jboss.jms.perf.framework.data.PerformanceTest.checkExecutors(PerformanceTest.java:340)
      [java] at org.jboss.jms.perf.framework.data.PerformanceTest.prepareJobs(PerformanceTest.java:282)
      [java] at org.jboss.jms.perf.framework.data.PerformanceTest.run(PerformanceTest.java:190)
      [java] at org.jboss.jms.perf.framework.Runner.measure(Runner.java:169)
      [java] at org.jboss.jms.perf.framework.Runner.run(Runner.java:104)
      [java] at org.jboss.jms.perf.framework.Runner.main(Runner.java:55)
      [java] Caused by: java.net.ConnectException: Connection refused: connect
      [java] at java.net.PlainSocketImpl.socketConnect(Native Method)
      [java] at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
      [java] at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
      [java] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
      [java] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
      [java] at java.net.Socket.connect(Socket.java:507)
      [java] at java.net.Socket.connect(Socket.java:457)
      [java] at java.net.Socket.(Socket.java:365)
      [java] at java.net.Socket.(Socket.java:178)
      [java] at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
      [java] at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)


      Pls help me out.

      Regards
      Ashwani

        • 1. Re: Error running in performance messaging benchmark framewo
          ataylor

          its because you're executors aren't running, 'ant start-executors'. If you have run this then theres probably been an error staring them, so check your logs.

          • 2. Re: Error running in performance messaging benchmark framewo
            singhal_ashwani

            Thanks andy.
            I haven't started the executors. After starting the executors , it is giving the following issue

            runner:
            [java] 16:23:11,177 INFO [PerformanceTest]
            [java] 16:23:11,177 INFO [PerformanceTest] PerformanceTest[Ping](JBossMessaging)
            [java] 16:23:11,177 INFO [PerformanceTest]
            [java] 16:23:11,427 ERROR [PerformanceTest] executor rmi://localhost:7777/local-messaging failed
            [java] java.rmi.NotBoundException: localhost:7777/local-messaging

            On JBoss console , it looks that local-messaging is running. Console of jboss
            16:20:37,598 INFO [RMIExecutor] RMIExecutor[local-messaging] started
            16:20:37,598 INFO [RMIExecutor] RMIExecutor[local-messaging2] started

            • 3. Re: Error running in performance messaging benchmark framewo
              singhal_ashwani

              Changes in last post, executors are started fine , the issue is coming on running the command "ant run"

              • 4. Re: Error running in performance messaging benchmark framewo
                ataylor

                Check all your names are correct, the stacktrace shows it trying o connect to rmi://localhost:7777/messaging, Is this actually correct. check your perf.xml settings

                • 5. Re: Error running in performance messaging benchmark framewo
                  singhal_ashwani

                  In the statck trace , it is trying to connect "localhost:7777/local-messaging"

                  [java] java.rmi.NotBoundException: localhost:7777/local-messaging

                  The perf.xml is below



                  <!-- benchmark configuration -->
                  <db-url>jdbc:hsqldb:./output/db/perfdb</db-url>
                  <report-directory>./output/results</report-directory>
                  <color-step>15</color-step>

                  <!-- benchmark-wide test defaults -->

                  <default-executor-name>REMOTE</default-executor-name>
                  /queue/testQueue
                  <connection-factory>/ConnectionFactory</connection-factory>
                  <acknowledgment-mode>AUTO_ACKNOWLEDGE</acknowledgment-mode>
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-factory-class>org.jboss.jms.perf.framework.factories.MessageMessageFactory</message-factory-class>
                  <message-size>0</message-size>

                  <!-- safeguard for receive jobs that block waiting messages will never arrive -->
                  600000



                  org.jnp.interfaces.NamingContextFactory
                  jnp://localhost:1099
                  org.jboss.naming:org.jnp.interfaces
                  <!--
                  -->


                  255,0,0



                  org.jnp.interfaces.NamingContextFactory
                  jnp://localhost:1199
                  org.jboss.naming:org.jnp.interfaces




                  0,0, 255



                  org.apache.activemq.jndi.ActiveMQInitialContextFactory
                  tcp://localhost:61616
                  <jndi-property name="queue./queue/testQueue">TEST_QUEUE</jndi-property>
                  <jndi-property name="queue./queue/simpleQueue">SIMPLE_QUEUE</jndi-property>
                  <jndi-property name="connectionFactoryNames">/ConnectionFactory</jndi-property>




                  0, 255, 255



                  org.apache.qpid.jndi.PropertiesFileInitialContextFactory
                  <jndi-property name="connectionfactory./ConnectionFactory">amqp://guest:guest@/test?brokerlist='localhost'</jndi-property>
                  <jndi-property name="queue./queue/testQueue">testQueue</jndi-property>
                  <jndi-property name="queue./queue/simpleQueue">simpleQueue</jndi-property>




                  255, 0, 255




                  <performance-tests>

                  <!-- just makes sure the executors are deployed and ready -->
                  <!-- -->
                  <performance-test name="Ping" loops="1">
                  <!--
                  -->



                  <!--
                  -->




                  <!-- -->
                  </performance-test>
                  <!-- -->

                  <!-- -->
                  <performance-test name="Ping Remote Only" loops="1">










                  </performance-test>
                  <!-- -->

                  <!--
                  <performance-test name="Single Burst" loops="10">
                  /queue/simpleQueue
                  <message-size>0</message-size>
                  30000






                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Throughput O KB Message Non-Persistent Non-Transactional, 1 sender, 1 receiver">






                  <message-size>0</message-size>
                  10000














































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Throughput-Remote">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  30000


































































































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Throughput-INVM">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  30000

































































































































                  </performance-test>
                  -->
                  <!--
                  <performance-test name="Measured Send Rate vs. Intended Send Rate INVM">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  50000



















































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Measured Send Rate vs. Intended Send Rate Remote">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  50000




























                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Send 50000 Non-Persistent Non-Transactional 0 KB Local">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  50000
































































































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Send 20000 Non-Persistent Non-Transactional 1 KB Text Local" loops="3">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-factory-class>org.jboss.jms.perf.framework.factories.TextMessageFactory</message-factory-class>
                  <message-size>1024</message-size>
                  30000





















































































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Send 30000 Non-Persistent Non-Transactional 0 KB Remote">






                  /queue/simpleQueue
                  <delivery-mode>NON_PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  30000






















































































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Send 30000 Persistent Non-Transactional 0 KB Local">






                  /queue/simpleQueue
                  <delivery-mode>PERSISTENT</delivery-mode>
                  <message-size>0</message-size>
                  30000











































































                  </performance-test>
                  -->

                  <!--
                  <performance-test name="Send 30000 Persistent Non-Transactional 1 KB Text Remote">






                  /queue/simpleQueue
                  <delivery-mode>PERSISTENT</delivery-mode>
                  <message-factory-class>org.jboss.jms.perf.framework.factories.TextMessageFactory</message-factory-class>
                  <message-size>1024</message-size>
                  30000











































































                  </performance-test>
                  -->

                  </performance-tests>




                  • 6. Re: Error running in performance messaging benchmark framewo
                    ataylor

                    that doesnt look right, you should have some providers configured:

                    <provider name="JBossMessaging">
                     <factory>org.jnp.interfaces.NamingContextFactory</factory>
                     <url>jnp://localhost:1099</url>
                     <pkg>org.jboss.naming:org.jnp.interfaces</pkg>
                     <executor name="REMOTE" url="rmi://remote-messaging"/>
                     <executor name="REMOTE2" url="rmi://remote-messaging2"/>
                     <executor name="COLOCATED" url="rmi://local-messaging"/>
                     <executor name="COLOCATED2" url="rmi://local-messaging2"/>
                     <color>255,0,0</color>
                     </provider>


                    • 7. Re: Error running in performance messaging benchmark framewo
                      singhal_ashwani

                      I rolled back all changes in perf.xml. Now i am getting the following error
                      runner:
                      [java] 16:56:08,883 INFO [PerformanceTest]
                      [java] 16:56:08,883 INFO [PerformanceTest] PerformanceTest[Ping](JBossMessaging, JBossMQ)
                      [java] 16:56:08,883 INFO [PerformanceTest]
                      [java] 16:56:09,195 ERROR [PerformanceTest] executor rmi://localhost:7777/remote-messaging failed
                      [java] java.rmi.NotBoundException: localhost:7777/remote-messaging

                      • 8. Re: Error running in performance messaging benchmark framewo
                        ataylor

                        that looks like the remote executors haven been started, check the logs, there should be one for each remote executor, i.e. rmi-executor-localhost-7777-remote-messaging.log

                        • 9. Re: Error running in performance messaging benchmark framewo
                          singhal_ashwani

                          The following logs are generated

                          rmi-executor-localhost-7777-remote-messaging.log
                          rmi-executor-localhost-7777-remote-messaging2.log

                          log mesaages are

                          2008-02-26 17:01:53,427 INFO @main [org.jboss.jms.perf.framework.remoting.rmi.RMIExecutor] RMIExecutor[remote-messaging] started


                          2008-02-26 17:01:55,505 INFO @main [org.jboss.jms.perf.framework.remoting.rmi.RMIExecutor] RMIExecutor[remote-messaging2] started

                          • 10. Re: Error running in performance messaging benchmark framewo
                            ataylor

                            and does the time stamp match when you actually started the remote executors. Check that the java processes are actually there.