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

    Error running in performance messaging benchmark framework

    ashwani singhal Newbie

      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
          Andy Taylor Master

          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
            ashwani singhal Newbie

            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
              ashwani singhal Newbie

              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
                Andy Taylor Master

                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
                  ashwani singhal Newbie

                  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
                    Andy Taylor Master

                    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
                      ashwani singhal Newbie

                      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
                        Andy Taylor Master

                        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
                          ashwani singhal Newbie

                          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
                            Andy Taylor Master

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