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 OPS

3,287 OPS

1K HTML (10 CLIENT, 4 KEEPALIVE)

19,568 OPS

16,466 OPS

64K HTML (1 CLIENT, 1 KEEPALIVE)

874 OPS

859 OPS

64K HTML (10 CLIENT, 4 KEEPALIVE)

1,800 OPS

1,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 BALANCING

APACHE LOAD BALANCING

RESIN STANDALONE

1K JSP (1 CLIENT, 1 KEEPALIVE)

2,269 OPS

1,989 OPS

3,903 OPS

1K JSP (10 CLIENT, 4 KEEPALIVE)

14,119 OPS

10,351 OPS

26,620 OPS

64K JSP (1 CLIENT, 1 KEEPALIVE)

579 OPS

604 OPS

826 OPS

64K JSP (10 CLIENT, 4 KEEPALIVE)

1,668 OPS

1,661 OPS

1,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.)

Cloud-optimized Resin Server is a Java EE certified Java Application Server, and Web Server, and Distributed Cache Server (Memcached).Leading companies worldwide with demand for reliability and high performance web applications including SalesForce.com, CNET, DZone and many more are powered by Resin.