main website home
  • About this blog

    This blog features updates, opinions, and technical notes from Caucho engineers about Caucho products, the enterprise Java industry, and PHP. Caucho Technology is the creator of the Resin Application Server and the Quercus PHP in Java engine. A leader in Java performance since 1998, Caucho is a Sun JavaEE licensee with over 9000 customers worldwide.
  • Tags

    ajaxworld bam candi cdi cloud cluster comet configuration deploy devoxx eclipse ejb embedded flash flex google app engine hessian hmtp ioc java ee 6 javaone javazone jms messaging newsletter nyjug osgi php pomegranate quercus resin resin 4.0 REST servlet sfjug silicon valley code camp spring testing training tssjs watchdog webbeans web profile websockets wordpress
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org

Archive for the ‘Benchmarks’ Category

NginX versus Resin Pro: Resin wins this round

Tuesday, August 21st, 2012

You may think of us as a vendor. We think of ourselves as a bunch of engineers who sit around and ask questions like: “is NginX faster and if so why?”. If we deliberately gamed a benchmark that would take all of the fun out of it. We like the competition. Resin has always been really fast, but competition from NginX has made us faster.

(more…)

Posted in Benchmarks | No Comments »

3.2.0 webserver performance

Thursday, July 31st, 2008

These are performance numbers as part of the stress testing to verify Resin’s performance hasn’t degraded for the release. The other web servers are included as a comparison.

Resin Pro 3.2.0 Apache 2.2 worker Apache 2.2 prefork Tomcat 6.0
file 1k (c1k1) 3550 2850 3000 2950
file 1k (c10k4) 20500 13000 13500 15000
file 64k (c1k1) 830 820 830 790
file 64k (c10k4) 1800 1800 1800 1790
jsp 1k (c1k1) 3750 2850
jsp 1k (c10k4) 23500 13500
jsp 64k (c1k1) 730 650
jsp 64k (c10k4) 1800 1750
confluence (c1k1) 11.7 10.5

Posted in Benchmarks | No Comments »

25,000 connections on Resin 3.2.0

Friday, July 25th, 2008

As part of the Resin 3.2.0 stress test, I loaded Resin with 25,000 comet clients for several hours.

The point of the test was to stress the socket/thread attachment and detachment code as well as well as any issues with large number of connections. And double-check any leaks of course.

The huge numbers of clients is possible because comet requests are normally idle, e.g. a chat application is just waiting for the next request. Since the request isn’t doing anything, Resin can release the thread and just hold the socket.

Because 25,000 requests takes up 25,000 connections and ServletRequest and ServletResponse objects, we needed to add a -Dcaucho.smallmem attribute to shrink the default buffer sizes. Normally, Resin’s buffers are 16k and each request uses several of these buffers. So 25k requests would need a few gigabits of memory just for the buffers. With -Dcaucho.smallmem, the buffer sizes are reduced.

Posted in Benchmarks | 2 Comments »

Resin vs. Tomcat simple performance comparison

Friday, May 16th, 2008

I did a simple benchmark comparing Resin 3.1.4 to Tomcat 6.0.14 and the results are a bit astounding. Beyond the fact that Tomcat crashed and burned, Resin Open Source is about 45% faster than Tomcat, Resin Professional is about 80% faster than Tomcat. I made an 8k jsp that just contains static text. Each server was run with it’s default configuration, in console mode. I gave each server a warmup of 20 requests, and then did three runs of 20000 requests:

$ ab -c 4 -n 20 http://localhost:8080/bench/8k.jsp
$ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp
$ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp
$ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp

Resin OS 3.1.4:

Run 1 requests per second: 1525.99
Run 2 requests per second: 1233.56
Run 3 requests per second: 1620.21

Resin Professional 3.1.4:

Run 1 requests per second: 1903.19
Run 2 requests per second: 1887.76
Run 3 requests per second: 1657.05

Tomcat 6.0.14:

Run 1 requests per second: 1040.53
Run 2 requests per second: N/A (tomcat crash)
Run 3 requests per second: N/A (tomcat crash)

Tomcat died after 16000 requests of the second run with a java.lang.OutOfMemoryError: Java heap space.

Reproducing

This is fairly easy to try on your own machine, install is simple:

  1. download/unpack Resin from http://www.caucho.com/download
  2. copy an 8k txt file to webapps/bench/8k.jsp
  3. $ bin/httpd.sh
  4. in another terminal window, run ab
    $ ab -c 4 -n 20 http://localhost:8080/bench/8k.jsp
    $ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp
    $ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp
  5. download/unpack Tomcat
  6. copy an 8k txt file to webapps/bench/8k.jsp
  7. $ bin/catalina.sh run
  8. in another terminal window, run ab
    $ ab -c 4 -n 20 http://localhost:8080/bench/8k.jsp
    $ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp
    $ ab -c 4 -n 20000 http://localhost:8080/bench/8k.jsp

Posted in Benchmarks | 2 Comments »


Caucho Technology is proudly powered by WordPress and Quercus®
Entries (RSS) and Comments (RSS).

  • HOME |
  • CONTACT US |
  • DOCUMENTATION |
  • BLOG |
  • WIKI 4 |
  • WIKI 3 |
  • Resin: Java Application Server
Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
caucho® , resin® and quercus® are registered trademarks of Caucho Technology, Inc.
resin® is a cloud optimized, java® application server that supports the java ee webprofile ®