Resin Java Web Server
                        Outperforms C-based NginX




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Open%Source,%Reliable%and%Lightweight%
      Java%EE%Applica;on%Server%




RESIN PRO   Web Profile   Health System   Cloud Support
NginX 1.2.0 versus Resin
                  4.0.29 Performance Tests
     •The following will be covered:
         • Resin validation as the single best solution for web server
           and application server
         • Tools used in benchmark testing
             • httperf
             • AutoBench
         • Results from performance testing Resin 4.0.29 and NginX
             1.2.0




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin outperforms NginX

     •Resin
         • Reputation as fast, lightweight and powerful Java
             application server

     •NginX
         • Known to be faster and more reliable under load than
             Apache HTTPD

     •Benchmark tests between Resin and NginX
         • Both yielded competitive figures
         • Resin leads testing with:
             • Fewer errors


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Benchmark Tools

     • Industry standard tool and methodology
         • Httperf
             • httperf is tool produced by HP for measuring web server performance.
                 The httperf tool supports HTTP/1.1 keepalives and SSL protocols.
         • AutoBench
             • a tool for automating a comparative benchmark test against two a web
               servers.
             • Runs httperf against each host.
             • Increases the number of requests per seconds on each iteration.
             • Delivers output in a format that can be easily consumed by spreadsheet
                 tools.
             • The command autobenchd is used to run a daemon on client machines.
             • The autobench_admin command drives many clients to run test at same
                 time by communicating with autobenchd.




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Test Setup Overview




     •Configuration
         • The only change that was made was the
             worker_processes were set to 8 for NginX to improve
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Hardware Software Specifications

     • Client HW/OS specs:
          • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM.
          • Ubuntu 12 / Linux Kernel 3.2.0-26-generic
     • Server HW specs:
          • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM.
          • Ubuntu 12 / Linux Kernel 3.2.0-26-generic
     • Test software
          • Autobench 2.1.1
          • httperf 0.9.0
     • Software under test:
          • Resin Pro 4.0.29
          • nginx 1.2.0
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
0K Test - Command Line
                                Arguments
         0k.sh
                    ./admin.sh 300000 2000 20000 1000 0k


         admin.sh
                    autobench_admin
                    --clients xen:4600,lancre:4600
                    --uri1 /file_$5.html
                    --host1 ch_resin --port1 8080
                    --uri2 /file_$5.html
                    --host2 ch_nginx --port2 80
                    --num_conn $1
                    --num_call 10
                    --low_rate $2
                    --high_rate $3
                    --rate_step $4
                    --timeout 3
                    --file out_con$1_start$2_end$3_step$4_$5.tsv

         (Above is used to setup 300,000 connections at a rate of 20,000 to 200,000 requests per
         second.
         Each iteration increases the rate by 10,000 from 20,000 to 200,000.)

         0k.html
                    html>
                    <body>
                    <pre></pre>
                    </body>
                    </html>

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                  0K file - requests per second




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                       0K file - Response Time




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                        0K file - IO throughput




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                            0K file - Errors




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
1K Test - Command Line
                                Arguments
         1k.sh
                    ./admin.sh 200000 1000 10000 250 1k


         admin.sh
                    autobench_admin
                    --clients xen.caucho.com:4600,lancre.caucho.com:4600
                    --uri1 /file_$5.html
                    --host1 ch_resin --port1 8080
                    --uri2 /file_$5.html
                    --host2 ch_nginx --port2 80
                    --num_conn $1
                    --num_call 10
                    --low_rate $2
                    --high_rate $3
                    --rate_step $4
                    --timeout 3
                    --file out_con$1_start$2_end$3_step$4_$5.tsv
         1k.html
                    html>
                    <body>
                    <pre>
                    0 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    1 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    2 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    3 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    4 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    5 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    6 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    7 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    8 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    9 0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789   0123456789
                    </pre>
                    </body>
                    </html>




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                  1K file - requests per second




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                       1K file - Response Time




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                        1K file - IO throughput




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                            1K file - Errors




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                  8K file - requests per second




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin 4.0.29 vs NginX 1.2.0
                64K file - requests per second




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Links
     •www.caucho.com
     •blog.caucho.com - Resin vs. NginX
     •Resin Java Web Server Outperforms C-based
         NginX




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server

Resin Outperforms NginX

  • 1.
    Resin Java WebServer Outperforms C-based NginX Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 2.
    Open%Source,%Reliable%and%Lightweight% Java%EE%Applica;on%Server% RESIN PRO Web Profile Health System Cloud Support
  • 3.
    NginX 1.2.0 versusResin 4.0.29 Performance Tests •The following will be covered: • Resin validation as the single best solution for web server and application server • Tools used in benchmark testing • httperf • AutoBench • Results from performance testing Resin 4.0.29 and NginX 1.2.0 Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 4.
    Resin outperforms NginX •Resin • Reputation as fast, lightweight and powerful Java application server •NginX • Known to be faster and more reliable under load than Apache HTTPD •Benchmark tests between Resin and NginX • Both yielded competitive figures • Resin leads testing with: • Fewer errors Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 5.
    Benchmark Tools • Industry standard tool and methodology • Httperf • httperf is tool produced by HP for measuring web server performance. The httperf tool supports HTTP/1.1 keepalives and SSL protocols. • AutoBench • a tool for automating a comparative benchmark test against two a web servers. • Runs httperf against each host. • Increases the number of requests per seconds on each iteration. • Delivers output in a format that can be easily consumed by spreadsheet tools. • The command autobenchd is used to run a daemon on client machines. • The autobench_admin command drives many clients to run test at same time by communicating with autobenchd. Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 6.
    Test Setup Overview •Configuration • The only change that was made was the worker_processes were set to 8 for NginX to improve Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 7.
    Hardware Software Specifications • Client HW/OS specs: • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM. • Ubuntu 12 / Linux Kernel 3.2.0-26-generic • Server HW specs: • i7 4 core / 8 HT, 2.8 GHZ, 8Meg Cache, 8 GB RAM. • Ubuntu 12 / Linux Kernel 3.2.0-26-generic • Test software • Autobench 2.1.1 • httperf 0.9.0 • Software under test: • Resin Pro 4.0.29 • nginx 1.2.0 Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 8.
    0K Test -Command Line Arguments 0k.sh ./admin.sh 300000 2000 20000 1000 0k admin.sh autobench_admin --clients xen:4600,lancre:4600 --uri1 /file_$5.html --host1 ch_resin --port1 8080 --uri2 /file_$5.html --host2 ch_nginx --port2 80 --num_conn $1 --num_call 10 --low_rate $2 --high_rate $3 --rate_step $4 --timeout 3 --file out_con$1_start$2_end$3_step$4_$5.tsv (Above is used to setup 300,000 connections at a rate of 20,000 to 200,000 requests per second. Each iteration increases the rate by 10,000 from 20,000 to 200,000.) 0k.html html> <body> <pre></pre> </body> </html> Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 9.
    Resin 4.0.29 vsNginX 1.2.0 0K file - requests per second Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 10.
    Resin 4.0.29 vsNginX 1.2.0 0K file - Response Time Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 11.
    Resin 4.0.29 vsNginX 1.2.0 0K file - IO throughput Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 12.
    Resin 4.0.29 vsNginX 1.2.0 0K file - Errors Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 13.
    1K Test -Command Line Arguments 1k.sh ./admin.sh 200000 1000 10000 250 1k admin.sh autobench_admin --clients xen.caucho.com:4600,lancre.caucho.com:4600 --uri1 /file_$5.html --host1 ch_resin --port1 8080 --uri2 /file_$5.html --host2 ch_nginx --port2 80 --num_conn $1 --num_call 10 --low_rate $2 --high_rate $3 --rate_step $4 --timeout 3 --file out_con$1_start$2_end$3_step$4_$5.tsv 1k.html html> <body> <pre> 0 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 1 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 2 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 3 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 4 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 5 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 6 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 7 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 8 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 9 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 </pre> </body> </html> Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 14.
    Resin 4.0.29 vsNginX 1.2.0 1K file - requests per second Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 15.
    Resin 4.0.29 vsNginX 1.2.0 1K file - Response Time Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 16.
    Resin 4.0.29 vsNginX 1.2.0 1K file - IO throughput Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 17.
    Resin 4.0.29 vsNginX 1.2.0 1K file - Errors Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 18.
    Resin 4.0.29 vsNginX 1.2.0 8K file - requests per second Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 19.
    Resin 4.0.29 vsNginX 1.2.0 64K file - requests per second Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 20.
    Links •www.caucho.com •blog.caucho.com - Resin vs. NginX •Resin Java Web Server Outperforms C-based NginX Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server