Caucho Technology
documentation
examples
changes

overview
quick start
installation
command-line
configuration
admin
amber
clustering
caching
database
deployment
ejb 3.0
embedding
filters
hessian
hmtp
ioc
jsp
logging
messaging
performance
quercus/php
remoting
scheduled tasks
security
server push
servlets
third-party
troubleshooting
virtual hosting
watchdog
webapp
xml and xslt

benchmarks
jvm tuning
performance faq
performance scrapbook
tuning

resin benchmarks


This document describes our performance benchmarks. As always, no artificial benchmark can replace measuring your own application with your own configuration and load.

Resin v. Apache

Resin is an excellent web server for both static pages and for load-balancing to multiple backend application servers. For a web-tier server, static page performance and load-balance performance are both important, as is the ability to proxy cache pages. The following benchmarks give a quick comparison between Resin and Apache as web-tier servers: both are very close in performance, although Resin is slightly faster than Apache in most of these cases.

These results were benchmarked with Resin 3.1.0 and Apache 2.2.3 with a pair of Debian Linux machines using a 1G ethernet. Resin's proxy cache was disabled to match Apache's default no proxy-cache configuration, but no other special configurations were applied to either server.

The first set of benchmarks compare static page serving using a 1k page to simulate small image files and a 64k page to simulate normal web pages. For the small pages, Resin was about 5% faster than Apache, and for large pages, the two are essentially identical.

Static Pages
RESIN (OPS PER SECOND)APACHE (OPS PER SECOND)
1K HTML (1 CLIENT, 1 KEEPALIVE)3,537 OPS3,287 OPS
1K HTML (10 CLIENT, 4 KEEPALIVE)19,568 OPS16,466 OPS
64K HTML (1 CLIENT, 1 KEEPALIVE)874 OPS859 OPS
64K HTML (10 CLIENT, 4 KEEPALIVE)1,800 OPS1,804 OPS

The second set of benchmarks compare load balancing of JSP pages to a backend Resin server. Both a 1k page and a 64k page were simulated. For comparison, the performance of Resin serving the same JSP page as a standalone HTTP server is also provided. Again, for small pages Resin is about 5-10% faster than Apache and is essentially identical for larger pages.

Load Balancing for Resin JSP
RESIN LOAD BALANCINGAPACHE LOAD BALANCINGRESIN STANDALONE
1K JSP (1 CLIENT, 1 KEEPALIVE)2,269 OPS1,989 OPS3,903 OPS
1K JSP (10 CLIENT, 4 KEEPALIVE)14,119 OPS10,351 OPS26,620 OPS
64K JSP (1 CLIENT, 1 KEEPALIVE)579 OPS604 OPS826 OPS
64K JSP (10 CLIENT, 4 KEEPALIVE)1,668 OPS1,661 OPS1,799 OPS

Caveats

As always, no artificial benchmark can replace measuring your own application with your own configuration and load. In most cases, other considerations like the application performance and database performance will dominate the performance (although proxy caching can make slow applications run as fast as static pages.) These numbers in particular are a trivial tests with a simple load. They do measure the maximum performance of the web server, so they are valuable information, but they are very different from a benchmark of a complete application.

Warnings aside, these results do indicate that many sites should seriously consider using Resin as their web-tier load-balancing server. (After benchmarking your own application, of course.)


Copyright © 1998-2008 Caucho Technology, Inc. All rights reserved.
Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.