[jboss-cvs] JBoss Messaging SVN: r4089 - in projects/network-benchmark: etc and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 21 07:26:54 EDT 2008


Author: jmesnil
Date: 2008-04-21 07:26:54 -0400 (Mon, 21 Apr 2008)
New Revision: 4089

Removed:
   projects/network-benchmark/lib/log4j.jar
   projects/network-benchmark/lib/slf4j-api-1.4.3.jar
   projects/network-benchmark/lib/slf4j-log4j12.jar
   projects/network-benchmark/lib/tomcat-apr-5.5.23.jar
Modified:
   projects/network-benchmark/
   projects/network-benchmark/.classpath
   projects/network-benchmark/build.xml
   projects/network-benchmark/etc/log4j.xml
   projects/network-benchmark/src/network/AllInOneServer.java
   projects/network-benchmark/src/network/ClientSetting.java
   projects/network-benchmark/src/network/NetworkClientTest.java
Log:
added test to check JBM 2 core performance


Property changes on: projects/network-benchmark
___________________________________________________________________
Name: svn:ignore
   + build


Modified: projects/network-benchmark/.classpath
===================================================================
--- projects/network-benchmark/.classpath	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/.classpath	2008-04-21 11:26:54 UTC (rev 4089)
@@ -3,12 +3,7 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="etc"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="lib" path="lib/log4j.jar"/>
-	<classpathentry kind="lib" path="lib/slf4j-api-1.4.3.jar"/>
-	<classpathentry kind="lib" path="lib/slf4j-log4j12.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/jboss-messaging"/>
 	<classpathentry kind="lib" path="lib/junit.jar"/>
-	<classpathentry kind="lib" path="lib/mina-core-2.0.0-M2-SNAPSHOT.jar"/>
-	<classpathentry kind="lib" path="lib/mina-transport-apr-2.0.0-M2-SNAPSHOT.jar"/>
-	<classpathentry kind="lib" path="lib/tomcat-apr-5.5.23.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

Modified: projects/network-benchmark/build.xml
===================================================================
--- projects/network-benchmark/build.xml	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/build.xml	2008-04-21 11:26:54 UTC (rev 4089)
@@ -6,16 +6,19 @@
      ====================================================================== -->
 <project name="network benchmark" default="help">
 
-    <path id="classpath">
+	<property name="jbm.dist" value="../jboss-messaging/build/messaging-2.0.0.alpha1/"/>
+	<property name="jbm.dist.lib" value="${jbm.dist}/lib/"/>
+    <property name="jbm.dist.config" value="${jbm.dist}/config/"/>
+	
+	<echo>Using JBoss Messaging distribution at ${jbm.dist}</echo>
+	<path id="classpath">
        <pathelement path="etc/ "/>
        <pathelement path="bin/ "/>
        <pathelement location="lib/junit.jar"/>
-       <pathelement location="lib/mina-core-2.0.0-M2-SNAPSHOT.jar"/>
-       <pathelement location="lib/mina-transport-apr-2.0.0-M2-SNAPSHOT.jar"/>
-       <pathelement location="lib/tomcat-apr-5.5.23.jar"/>
-       <pathelement location="lib/slf4j-api-1.4.3.jar"/>
-       <pathelement location="lib/slf4j-log4j12.jar"/>
-       <pathelement location="lib/log4j.jar"/>
+       <fileset dir="${jbm.dist.lib}">
+          <include name="**/*.jar"/>
+       </fileset>
+	   <pathelement path="${jbm.dist.config}" />
     </path>
 
 	<target name="help" description="-> Display help">
@@ -39,26 +42,33 @@
 			classname="network.AllInOneServer"
 			fork="true">
 			<jvmarg value="-server"/>
+<!--
 			<jvmarg value="-XX:+AggressiveOpts"/>
 			<jvmarg value="-XX:+UseBiasedLocking"/>
 			<jvmarg value="-XX:+UseFastAccessorMethods"/>
 			<jvmarg value="-XX:+UseLargePages"/>
+-->
 		</java>
 	</target>
 
 	<target name="test" depends="compile" description="-> Run the tests">
-		<junit showoutput="true" fork="true">
-	    		<classpath>
-	    			<path refid="classpath"/>
-	        	</classpath>
+		<junit fork="true">
+			<jvmarg value="-server"/>
+    		<classpath>
+    			<path refid="classpath"/>
+        	</classpath>
 			<test name="network.NetworkClientTest">
 				<formatter type="brief" usefile="false"/>
 	   		</test>
-			<jvmarg value="-server"/>
+			<test name="core.CoreMessagingClientTest">
+				<formatter type="brief" usefile="false"/>
+	   		</test>
+<!--
 			<jvmarg value="-XX:+AggressiveOpts"/>
 			<jvmarg value="-XX:+UseBiasedLocking"/>
 			<jvmarg value="-XX:+UseFastAccessorMethods"/>
 			<jvmarg value="-XX:+UseLargePages"/>
+-->
 		</junit>
 	</target>
 	

Modified: projects/network-benchmark/etc/log4j.xml
===================================================================
--- projects/network-benchmark/etc/log4j.xml	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/etc/log4j.xml	2008-04-21 11:26:54 UTC (rev 4089)
@@ -7,12 +7,16 @@
 
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
       <param name="Target" value="System.out"/>
-      <param name="Threshold" value="TRACE"/>
+      <param name="Threshold" value="WARN"/>
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%t %d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
       </layout>
    </appender>
 
+   <category name="network">
+      <priority value="WARN"/>
+   </category>
+
    <category name="org.apache">
       <priority value="WARN"/>
    </category>

Deleted: projects/network-benchmark/lib/log4j.jar
===================================================================
(Binary files differ)

Deleted: projects/network-benchmark/lib/slf4j-api-1.4.3.jar
===================================================================
(Binary files differ)

Deleted: projects/network-benchmark/lib/slf4j-log4j12.jar
===================================================================
(Binary files differ)

Deleted: projects/network-benchmark/lib/tomcat-apr-5.5.23.jar
===================================================================
(Binary files differ)

Modified: projects/network-benchmark/src/network/AllInOneServer.java
===================================================================
--- projects/network-benchmark/src/network/AllInOneServer.java	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/src/network/AllInOneServer.java	2008-04-21 11:26:54 UTC (rev 4089)
@@ -3,6 +3,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import core.CoreMessagingServer;
+
 public class AllInOneServer {
     public static void main(String[] args) throws Exception {
         CommonSetting.print();
@@ -10,6 +12,7 @@
 
         List<Thread> threads = new ArrayList<Thread>();
 
+        /*
         threads.add(new Thread() {
             @Override
             public void run() {
@@ -31,10 +34,13 @@
                 }
             }
         });
+        */
 
         threads.add(new Thread(new MINANIOServer()));
-        threads.add(new Thread(new MINAAPRServer()));
-
+        //threads.add(new Thread(new MINAAPRServer()));
+        
+        threads.add(new Thread(new CoreMessagingServer()));
+        
         for (Thread t: threads) {
             t.start();
         }

Modified: projects/network-benchmark/src/network/ClientSetting.java
===================================================================
--- projects/network-benchmark/src/network/ClientSetting.java	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/src/network/ClientSetting.java	2008-04-21 11:26:54 UTC (rev 4089)
@@ -3,8 +3,9 @@
 
 
 public class ClientSetting {
-    public static final String SERVER_HOSTNAME = "192.168.0.11";
-    public static final long DURATION = 10000; // in ms
+    public static final String SERVER_HOSTNAME = "192.168.0.4";
+    public static final long DURATION = 30000; // in ms
+    public static final long WARMUP = DURATION / 10; // in ms
 
     public static void print()
     {

Modified: projects/network-benchmark/src/network/NetworkClientTest.java
===================================================================
--- projects/network-benchmark/src/network/NetworkClientTest.java	2008-04-21 09:22:09 UTC (rev 4088)
+++ projects/network-benchmark/src/network/NetworkClientTest.java	2008-04-21 11:26:54 UTC (rev 4089)
@@ -1,7 +1,16 @@
 package network;
 
-import static network.ClientSetting.*;
-import static network.CommonSetting.*;
+import static network.ClientSetting.DURATION;
+import static network.ClientSetting.SERVER_HOSTNAME;
+import static network.ClientSetting.WARMUP;
+import static network.CommonSetting.BIO_SERVER_PORT;
+import static network.CommonSetting.ENABLE_TCP_NO_DELAY;
+import static network.CommonSetting.MINA_APR_SERVER_PORT;
+import static network.CommonSetting.MINA_NIO_SERVER_PORT;
+import static network.CommonSetting.NIO_SERVER_PORT;
+import static network.CommonSetting.REQUEST_SIZE;
+import static network.CommonSetting.RESPONSE_SIZE;
+import static network.CommonSetting.TCP_BUFFER_SIZE;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -21,7 +30,6 @@
 import org.apache.mina.common.IoHandlerAdapter;
 import org.apache.mina.common.IoSession;
 import org.apache.mina.transport.socket.SocketConnector;
-import org.apache.mina.transport.socket.apr.AprSocketConnector;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
 
 public class NetworkClientTest extends TestCase
@@ -40,86 +48,66 @@
 
    // Public --------------------------------------------------------
 
-   public void test_Blocking_BIOClient_To_BIOServer() throws Exception
+   public void _test_Blocking_BIOClient_To_BIOServer() throws Exception
    {
       startBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, BIO_SERVER_PORT));
    }
 
-   public void test_NonBlocking_BIOClient_To_BIOServer() throws Exception
+   public void _test_NonBlocking_BIOClient_To_BIOServer() throws Exception
    {
       startNonBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, BIO_SERVER_PORT));
    }
 
-   public void test_Blocking_BIOClient_To_NIOServer() throws Exception
+   public void _test_Blocking_BIOClient_To_NIOServer() throws Exception
    {
       startBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, NIO_SERVER_PORT));
    }
 
-   public void test_NonBlocking_BIOClient_To_NIOServer() throws Exception
+   public void _test_NonBlocking_BIOClient_To_NIOServer() throws Exception
    {
       startNonBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, NIO_SERVER_PORT));
    }
 
-   public void test_Blocking_BIOClient_To_MINANIOServer() throws Exception
+   public void _test_Blocking_BIOClient_To_MINANIOServer() throws Exception
    {
       startBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, MINA_NIO_SERVER_PORT));
    }
 
-   public void test_NonBlocking_BIOClient_To_MINANIOServer() throws Exception
+   public void _test_NonBlocking_BIOClient_To_MINANIOServer() throws Exception
    {
       startNonBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, MINA_NIO_SERVER_PORT));
    }
 
-   public void test_Blocking_BIOClient_To_MINAAPRServer() throws Exception
+   public void _test_Blocking_BIOClient_To_MINAAPRServer() throws Exception
    {
       startBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, MINA_APR_SERVER_PORT));
    }
 
-   public void test_NonBlocking_BIOClient_To_MINAAPRServer() throws Exception
+   public void _test_NonBlocking_BIOClient_To_MINAAPRServer() throws Exception
    {
       startNonBlockingBioClient(new InetSocketAddress(SERVER_HOSTNAME, MINA_APR_SERVER_PORT));
    }
 
-   public void test_Blocking_MINANIOClient_To_BIOServer() throws Exception
+   public void _test_Blocking_MINANIOClient_To_BIOServer() throws Exception
    {
       startBlockingMINAClient(new NioSocketConnector(), BIO_SERVER_PORT);
    }
 
-   public void test_NonBlocking_MINANIOClient_To_BIOServer() throws Exception
+   public void _test_NonBlocking_MINANIOClient_To_BIOServer() throws Exception
    {
       startNonBlockingMINAClient(new NioSocketConnector(), BIO_SERVER_PORT);
    }
 
-   public void test_Blocking_MINAAPRClient_To_BIOServer() throws Exception
+   public void _test_Blocking_MINANIOClient_To_NIOServer() throws Exception
    {
-      startBlockingMINAClient(new AprSocketConnector(), BIO_SERVER_PORT);
-   }
-
-   public void test_NonBlocking_MINAAPRClient_To_BIOServer() throws Exception
-   {
-      startNonBlockingMINAClient(new AprSocketConnector(), BIO_SERVER_PORT);
-   }
-
-   public void test_Blocking_MINANIOClient_To_NIOServer() throws Exception
-   {
       startBlockingMINAClient(new NioSocketConnector(), NIO_SERVER_PORT);
    }
 
-   public void test_NonBlocking_MINANIOClient_To_NIOServer() throws Exception
+   public void _test_NonBlocking_MINANIOClient_To_NIOServer() throws Exception
    {
       startNonBlockingMINAClient(new NioSocketConnector(), NIO_SERVER_PORT);
    }
 
-   public void test_Blocking_MINAAPRClient_To_NIOServer() throws Exception
-   {
-      startBlockingMINAClient(new AprSocketConnector(), NIO_SERVER_PORT);
-   }
-
-   public void test_NonBlocking_MINAAPRClient_To_NIOServer() throws Exception
-   {
-      startNonBlockingMINAClient(new AprSocketConnector(), NIO_SERVER_PORT);
-   }
-
    public void test_Blocking_MINANIOClient_To_MINANIOServer() throws Exception
    {
       startBlockingMINAClient(new NioSocketConnector(), MINA_NIO_SERVER_PORT);
@@ -130,35 +118,6 @@
       startNonBlockingMINAClient(new NioSocketConnector(), MINA_NIO_SERVER_PORT);
    }
 
-   public void test_Blocking_MINANIOClient_To_MINAAPRServer() throws Exception
-   {
-      startBlockingMINAClient(new NioSocketConnector(), MINA_APR_SERVER_PORT);
-   }
-
-   public void test_NonBlocking_MINANIOClient_To_MINAAPRServer() throws Exception
-   {
-      startNonBlockingMINAClient(new NioSocketConnector(), MINA_APR_SERVER_PORT);
-   }
-
-   public void test_Blocking_MINAAPRClient_To_MINANIOServer() throws Exception
-   {
-      startBlockingMINAClient(new AprSocketConnector(), MINA_NIO_SERVER_PORT);
-   }
-
-   public void test_NonBlocking_MINAAPRClient_To_MINANIOServer() throws Exception
-   {
-      startNonBlockingMINAClient(new AprSocketConnector(), MINA_NIO_SERVER_PORT);
-   }
-
-   public void test_Blocking_MINAAPRClient_To_MINAAPRServer() throws Exception
-   {
-      startBlockingMINAClient(new AprSocketConnector(), MINA_APR_SERVER_PORT);
-   }
-
-   public void test_NonBlocking_MINAAPRClient_To_MINAAPRServer() throws Exception
-   {
-      startNonBlockingMINAClient(new AprSocketConnector(), MINA_APR_SERVER_PORT);
-   }
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------
@@ -208,7 +167,8 @@
       InputStream is = clientSocket.getInputStream();
 
       long start = System.currentTimeMillis();
-      int count = 0;
+      int sendCount = 0;
+      int receivedCount = 0;
       byte[] message = createMessage();
       byte[] response = new byte[RESPONSE_SIZE];
 
@@ -216,6 +176,7 @@
       while (System.currentTimeMillis() - start < DURATION)
       {
          os.write(message);
+         sendCount++;
          int readBytes = 0;
          for (;;) {
             int localReadBytes = is.read(response, readBytes, response.length - readBytes);
@@ -225,8 +186,11 @@
             }
             readBytes += localReadBytes;
             if (readBytes == RESPONSE_SIZE) {
-                count ++;
-                break;
+               if (System.currentTimeMillis() - start >= WARMUP) {
+                  receivedCount ++;
+               }
+               break;
+
             }
          }
       }
@@ -235,8 +199,8 @@
       os.close();
       clientSocket.close();
 
-      long periodInMs = System.currentTimeMillis() - start;
-      display(count, count, periodInMs);
+      long periodInMs = System.currentTimeMillis() - start - WARMUP;
+      display(sendCount, receivedCount, periodInMs);
    }
 
    private void startNonBlockingBioClient(SocketAddress address)
@@ -246,6 +210,8 @@
       OutputStream os = clientSocket.getOutputStream();
       final InputStream is = clientSocket.getInputStream();
 
+      final AtomicLong start = new AtomicLong(0);
+      final AtomicLong receivedBytesDuringWarmup = new AtomicLong(0);
       final AtomicLong receivedBytes = new AtomicLong(0);
       Thread receiver = new Thread()
       {
@@ -263,6 +229,9 @@
                       System.out.println("Connection closed by server.");
                       break;
                   }
+                  if (System.currentTimeMillis() - start.longValue() < WARMUP)
+                     receivedBytesDuringWarmup.addAndGet(readBytes);
+                  
                   receivedBytes.addAndGet(readBytes);
                }
             }
@@ -282,9 +251,9 @@
       receiver.start();
 
       byte[] request = createMessage();
-      long start = System.currentTimeMillis();
+      start.set(System.currentTimeMillis());
       int sentRequests = 0;
-      while (System.currentTimeMillis() - start < DURATION)
+      while (System.currentTimeMillis() - start.longValue() < DURATION)
       {
          os.write(request);
          sentRequests ++;
@@ -298,9 +267,9 @@
       os.close();
       clientSocket.close();
 
-      long periodInMs = System.currentTimeMillis() - start;
+      long periodInMs = System.currentTimeMillis() - start.longValue() - WARMUP;
 
-      display(sentRequests, receivedBytes.get() / RESPONSE_SIZE, periodInMs);
+      display(sentRequests, (receivedBytes.get() - receivedBytesDuringWarmup.get()) / RESPONSE_SIZE, periodInMs);
    }
 
    private void startBlockingMINAClient(SocketConnector client, int port)
@@ -309,6 +278,10 @@
       InetSocketAddress address = new InetSocketAddress(SERVER_HOSTNAME, port);
       final IoBuffer request = IoBuffer.wrap(createMessage());
       final AtomicBoolean shutdown = new AtomicBoolean();
+      
+      final AtomicLong bytesReceivedDuringWarmup = new AtomicLong(0);
+      final AtomicLong start = new AtomicLong(0);
+      
       client.setHandler(new IoHandlerAdapter()
       {
          @Override
@@ -327,13 +300,16 @@
                if (receivedResponses != 0 && receivedResponses == sentRequests) {
                    session.write(request.duplicate());
                }
+               if (System.currentTimeMillis() - start.longValue() < WARMUP) {
+                  bytesReceivedDuringWarmup.set(session.getReadBytes());
+               }
             }
          }
       });
       ConnectFuture future = client.connect(address).awaitUninterruptibly();
       IoSession session = future.getSession();
 
-      long start = System.currentTimeMillis();
+      start.set(System.currentTimeMillis());
       try {
          Thread.sleep(DURATION);
       } catch (InterruptedException e) {
@@ -346,8 +322,8 @@
       }
 
       session.closeOnFlush().awaitUninterruptibly();
-      long periodInMs = System.currentTimeMillis() - start;
-      display(client.getWrittenBytes() / REQUEST_SIZE, client.getReadBytes() / RESPONSE_SIZE, periodInMs);
+      long periodInMs = System.currentTimeMillis() - start.longValue() - WARMUP;
+      display(client.getWrittenBytes() / REQUEST_SIZE, (client.getReadBytes() - bytesReceivedDuringWarmup.get()) / RESPONSE_SIZE, periodInMs);
 
       client.dispose();
    }




More information about the jboss-cvs-commits mailing list