3 Replies Latest reply on Sep 21, 2002 3:52 PM by Sheng Zou

    Help on Linux Msg Throughput  vs. Window's Msg Throughput

    Sheng Zou Newbie


      I found out that message throughput on linux is about one magnitude slower that that on windows. This result holds for both JBoss2.4.x and JBoss3.0.0 (where JBoss3.0.0 has TCP_NODELAY enabled by default). This result also holds for both JVM and OIL.

      Here is the statistics collected:

      Here they are for 1 sender x 1000 contacts

      OS JDK Rate-Range Rate-Average
      Win IBM1.3.1 90-120 111
      Win IBM1.3.0 120-145 120
      Win Sun1.4.0 120-142 125
      Win Sun1.3.1 166-200 166

      Linux IBM1.3.1 18-20 19
      Linux IBM1.3.0 N/A N/A
      Linux Sun1.4.0 18-20 19
      Linux Sun1.3.1 20 20

      The test (see attachement) simulate N users send M messages (per user) randomly to 20 queues. To understand the capacity of a single session, all the message senders share a single session.

      The result on my WinNT machine is about 120 msg/sec with over 90% CPU consumption, whereas it is about 19 msg/sec with about 15% CPU consumption. Note this is true for both JVM and OIL on either JBoss2.4.x or JBoss3.0.0.

      The test is made as a JBoss3.0.0 MBean, under AAA. To run the test:
      + go to http://<hostname>:8082 and
      + click on "SingleSessionTest" under AAA in the beginning of the page.
      + To make the test use OIL, set isLocal to false, otherwise, JVM will be used.
      + To start test, click on "test" button.
      + In addition, when there is ONE sender, no synchronization will be used on session object.

      There are STDOUT for every a hundred message sent/received, and throughput will be calculated and printed at the end of the test on the JBoss console.

      The test files are attached:
      + jbossmq-destinations-service.xml: copy it into &lt;JBOSS_DIR&gt;/server/default/deploy. This file contains 20 MBean Queues.
      + testSingleSession.sar: this file contain the jboss-server.xml and class files.
      + testSingleSession.jar: this file contains compile script, source file, class files. You will need to change classpath in the script and replace the class files in the testSingleSession.sar with the newly compiled class files if you ever want to recompile the test code