10 Replies Latest reply on Mar 13, 2012 11:09 AM by Claudio Miranda

    Http connector performance test AS7

    Claudio Miranda Expert

      Hi, I am doing some performance testing related to the http connector of jbossweb, and I see AS 7.1 is not good as EAP 5.1.2.

      Therefore I ask some help, as the settings may need some adjustments.

       

      Sees like I can perform 800.000 connections from ab to EAP 5.1.2, but cannot submit 150.000 to AS 7.1

       

      The EAP 5.1.2 configurations and results at http://pastebin.com/F729pygq

      The AS 7.1 configurations and results at http://pastebin.com/qhrQ1def

       

      The relevant pieces are

       

      1) EAP 5.1.2 http connector (server.xml)

       

      connectionTimeout="10000" redirectPort="8443" acceptCount="50"  maxThreads="2048"

       

      2) EAP 5.1.2 JVM configurations

       

      -XX:NewSize=768m -XX:MaxNewSize=768m -Xms2048m -Xss256k -Xmx2048m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC

       

      3) ab test to EAP 5.1.2

       

      ab  -n 800000  -c 100 'http://10.1.201.99:8080/images/logo.gif'

       

       

      4) EAP 5.1.2 results

       
      Concurrency Level:      100
      Time taken for tests:   130.762 seconds
      Complete requests:      800000
      Failed requests:        0
      Write errors:           0
      Total transferred:      1690524667 bytes
      HTML transferred:       1452107085 bytes
      Requests per second:    6118.00 [#/sec] (mean)
      

       

      1) AS 7.1 http connector (standalone-lab1.xml)

       

          <subsystem xmlns="urn:jboss:domain:threads:1.1">
              <thread-factory name="my_tf" group-name="group1" thread-name-pattern="my_tf_" priority="1"/>
              <bounded-queue-thread-pool name="http_queue" allow-core-timeout="true">
                  <core-threads count="100"/>
                  <queue-length count="50"/>
                  <max-threads count="2048"/>
                  <keepalive-time time="30" unit="seconds"/>
                  <thread-factory name="my_tf"/>
              </bounded-queue-thread-pool>

       

                                                                                                                                 

       

      2) AS 7.1 JVM configurations

       

      -XX:NewSize=768m -XX:MaxNewSize=768m -Xms2048m -Xss256k -Xmx2048m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC

       

      3) ab test to AS 7.1

       

      ab  -n 50000  -c 100 'http://10.1.201.99:8180/logo.gif'

       

      I copied logo.gif from EAP 5.1.2 to AS 7.1

       

      4) AS 7.1 results

       

      $ ab  -n 150000 -c 100 'http://10.1.201.99:8180/logo.gif' ; date
      This is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
      Licensed to The Apache Software Foundation, http://www.apache.org/
      
      Benchmarking 10.1.201.99 (be patient)
      Completed 15000 requests
      Completed 30000 requests
      Completed 45000 requests
      Completed 60000 requests
      Completed 75000 requests
      Completed 90000 requests
      Completed 105000 requests
      Completed 120000 requests
      Completed 135000 requests
      apr_poll: The timeout specified has expired (70007)
      Total of 149958 requests completed
      Tue Feb 28 18:17:02 BRT 2012
      
      

       

      OS configuration

      $ ulimit -a
      core file size          (blocks, -c) 0
      data seg size           (kbytes, -d) unlimited
      scheduling priority             (-e) 0
      file size               (blocks, -f) unlimited
      pending signals                 (-i) 47440
      max locked memory       (kbytes, -l) 64
      max memory size         (kbytes, -m) unlimited
      open files                      (-n) 65536
      pipe size            (512 bytes, -p) 8
      POSIX message queues     (bytes, -q) 819200
      real-time priority              (-r) 0
      stack size              (kbytes, -s) 10240
      cpu time               (seconds, -t) unlimited
      max user processes              (-u) 16384
      virtual memory          (kbytes, -v) unlimited
      file locks                      (-x) unlimited
       

       

      Observations related to the test.

       

      a) before each test run, must wait for 1 minute for the OS to finish all TIME_WAIT connections. I found out that for my computer, around 27.000 connections is the limit

       

      b) I choose not to use ab keepalive, to force the connector usage

       

      c) When running ab against AS 7.1 it quickly top the max-threads=2048 and the connections keeps around 28.000 then ab finish with timeout errors.

       

      I ask if there are other settings I must look at or suggestions on how to configure the system.