|
Last Updated: 2003-04-04 16:46:48
Welcome to the Hello World! benchmarks. This site seeks to give its visitors
a sense of web application execution speed on various software platforms running
under the Apache web server.
While there are some numbers here available for your review, benchmarking does not provide
a real world assessment for any application operating in a specific real world scenario,
and this does not try to demonstrate any proof that any system is better
than any other. More often than not, the benchmarks themselves are are too simple
to fully utilize an application's strength or reveal its weaknesses. The benchmarks
instead tend to be written for a lowest common denominator so more web applications can
compete than not.
For best effect, a user should glance at the below numbers, understand the limitations
of benchmarking, and then run the benchmark suite on his or her particular
hardware. The benchmark suite is available for download here.
Once downloaded, please read the distribution's README for more infomation on how to
run the benchmark tool bench.pl. You must have a UNIX system with Apache installed
plus any web applications you want to test.
Please send any suggestions to this email
Benchmark Descriptions
Hello World 2000 ( 2000 )
The 2000 benchmark tries to emulate a heavy web page template. It is typically 3K+ in
program length that results in output of over 20K. While this does not properly reflect any web application's
speed of back end business logic execution, it does show a template heavy request with some application logic and loops,
some HTTP parameter passing, and much variable interpolation in the output stream.
|
Hello World ( hello )
The Hello World benchmark merely prints "Hello World" and as such
is a good test for the fastest a web page could ever run under the given
web application environment. For historical reasons, the benchmarks are
written to print "Hello" and then add to the output World as a raw string.
|
HelloDB ( hellodb )
The HelloDB benchmark merely queries the database for the string
"Hello World", and as such represents the fastest a web application
can process a request when talking to a database. This is a new
benchmark with only MySQL supported for now, but more environments
and databases will be added over time.
|
XSLT Big ( xsltbig )
This benchmark hits an XSLT rendering engine hard with 18K+ XML being transformed
with a 1K+ XSL stylesheet for over 20K output. Though XSLT is generally slow, many applications
will use XSLT caching to speed up response times. This benchmark should emulate well a real world
XSLT usage scenario, with perhaps the XSL itself being too trivial.
|
Hello XSLT ( xslt )
Like the Hello World benchmark, the XSLT version just outputs "Hello World", or
the closest we can get when doing XSLT, so it too demonstrates the fastest an application
can render a page with XSLT. Benchmarks should be similarly configured between xsltbig and
xslt, so a slow caching layer that benefits the former might slow down this benchmark.
|
 |
Benchmark Graphs
| |
Requests/sec |
| |
System Memory Used in Megabytes (Estimate) |
|
| |
Requests/sec |
| |
System Memory Used in Megabytes (Estimate) |
|
| |
Requests/sec |
| |
System Memory Used in Megabytes (Estimate) |
|
| |
Requests/sec |
| |
System Memory Used in Megabytes (Estimate) |
|
| |
Requests/sec |
| |
System Memory Used in Megabytes (Estimate) |
|
Benchmark System Configuration
| Apache: |
Apache, Apache/1.3.27, AxKit/1.6, Coyote/1.0, Embperl/2.0b8, OpenSSL/0.9.6g, PHP/4.3.0, Resin/2.1.2, mod_fastcgi/2.2.12, mod_perl/1.27, mod_ssl/2.8.12 |
|
Perl:
|
5.008
|
|
Java:
|
java version "1.4.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03) Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)
|
|
Kernel:
|
Linux 2.4.7-10 (bhcompile@stripples) (gcc 2.96 20000731 ) #1 1CPU [gate]
|
|
Cpu:
|
2.4 GHz PIV (Uniprocessor), 400 MHz bus
|
|
Filesystem:
|
ext3, Software RAID 1
|
|
Memory:
|
1G
|
|
Storage:
|
2 x 7200 RPM ATA 60G
|
Application References
Benchmark Data ( data.xml )
| Type |
Name |
File |
Hits/sec |
Hits |
Time (sec) |
Output (Bytes) |
Memory (KB) |
| 2000 |
Apache::ASP v2.53 mod_perl 2000 |
h2000.asp |
438.3 |
19725 |
45.01 |
29025 |
31112 |
| 2000 |
Apache::Registry v2.01 mod_perl 2000 |
h2000.reg |
851.7 |
38330 |
45.01 |
28196 |
13796 |
| 2000 |
C Apache API mod_h2000 |
mod_h2000.c |
2008.7 |
50000 |
24.89 |
28222 |
6724 |
| 2000 |
Embperl v2.0b8 mod_perl 2000 |
h2000.epl |
483.7 |
21770 |
45.01 |
28820 |
35884 |
| 2000 |
HTML::Embperl v1.3.6 mod_perl 2000 |
h2000.epl |
335.4 |
15092 |
45.00 |
28858 |
20952 |
| 2000 |
HTML::Mason v1.19 mod_perl 2000 |
h2000.mas |
51.9 |
2337 |
45.00 |
28805 |
67196 |
| 2000 |
HTML::Template v2.6 mod_perl 2000 |
h2000.htmp |
234.1 |
10535 |
45.00 |
29169 |
20488 |
| 2000 |
Resin2 JSP 2000 |
h2000.jsp |
730.6 |
32881 |
45.01 |
28929 |
18744 |
| 2000 |
Template v2.08 Toolkit mod_perl 2000 |
h2000.tt |
303.0 |
13633 |
45.00 |
28906 |
60664 |
| 2000 |
Tomcat4 JSP 2000 |
h2000.jsp |
401.1 |
18056 |
45.02 |
28954 |
52464 |
| 2000 |
mod_cgi CGI.pm 2000 |
h2000.cgi |
24.1 |
1084 |
45.05 |
28215 |
27120 |
| 2000 |
mod_perl 2000 |
h2000.pm |
951.6 |
42826 |
45.01 |
28196 |
8036 |
| 2000 |
mod_php PHP 2000 |
h2000.php |
651.7 |
29330 |
45.00 |
28880 |
9956 |
| hello |
Apache::ASP mod_cgi Hello |
hello.asp |
9.5 |
429 |
45.04 |
258 |
52396 |
| hello |
Apache::ASP v2.53 mod_perl Hello |
hello.asp |
574.5 |
25852 |
45.00 |
258 |
27964 |
| hello |
Apache::Dispatch v0.09 mod_perl handler |
hello/world |
1265.0 |
50000 |
39.52 |
214 |
12936 |
| hello |
Apache::Registry v2.01 mod_perl CGI Raw |
hello.cgiraw |
1555.1 |
50000 |
32.15 |
52 |
12504 |
| hello |
Apache::Registry v2.01 mod_perl CGI.pm |
hello.cgi |
947.6 |
42648 |
45.01 |
234 |
18308 |
| hello |
Apache::SSI v2.17 mod_perl |
hello.shtml |
1117.6 |
50000 |
44.74 |
217 |
12912 |
| hello |
C Apache API mod_hello |
mod_hello.c |
4285.2 |
50000 |
11.67 |
214 |
4444 |
| hello |
CGI::SpeedyCGI CGI Raw |
hello.scgiraw |
361.1 |
16248 |
45.00 |
214 |
9440 |
| hello |
CGI::SpeedyCGI CGI.pm |
hello.scgi |
149.0 |
6703 |
45.00 |
234 |
9884 |
| hello |
Embperl v2.0b8 mod_perl Hello |
hello.epl |
849.8 |
38240 |
45.00 |
230 |
17212 |
| hello |
HTML static |
hello.html |
3557.5 |
50000 |
14.05 |
330 |
4636 |
| hello |
HTML::Embperl v1.3.6 mod_perl |
hello.epl |
879.6 |
39584 |
45.00 |
238 |
9180 |
| hello |
HTML::Mason v1.19 mod_perl |
hello.mas |
235.3 |
10587 |
45.00 |
216 |
50088 |
| hello |
HTML::Template v2.6 mod_perl |
hello.htmp |
1178.5 |
50000 |
42.43 |
216 |
18036 |
| hello |
Resin2 JSP |
hello.jsp |
1043.4 |
46955 |
45.00 |
195 |
23284 |
| hello |
Template v2.08 Toolkit mod_perl |
hello.tt |
976.8 |
43965 |
45.01 |
216 |
53980 |
| hello |
Tomcat4 JSP |
hello.jsp |
775.0 |
34877 |
45.00 |
200 |
44764 |
| hello |
mod_cgi CGI Raw |
hello.cgiraw |
271.9 |
12238 |
45.00 |
214 |
8248 |
| hello |
mod_cgi CGI.pm |
hello.cgi |
26.7 |
1201 |
45.01 |
234 |
26992 |
| hello |
mod_fastcgi CGI::Fast |
hello.fastcgi |
911.9 |
41036 |
45.00 |
234 |
5488 |
| hello |
mod_include SSI |
hello.shtml |
2475.5 |
50000 |
20.20 |
216 |
6732 |
| hello |
mod_perl handler |
hello.bench |
2128.7 |
50000 |
23.49 |
214 |
8624 |
| hello |
mod_php PHP |
hello.php |
1601.2 |
50000 |
31.23 |
240 |
8104 |
| hello |
mod_proxy |
hello/proxy |
1250.0 |
50000 |
40.00 |
371 |
8244 |
| hellodb |
Apache::ASP v2.53 mod_perl HelloDB MySQL |
my_hellodb.asp |
480.2 |
21611 |
45.00 |
254 |
34272 |
| hellodb |
C Apache API HelloDB MySQL |
mod_my_hellodb.c |
3046.6 |
50000 |
16.41 |
211 |
6760 |
| hellodb |
Resin2 JSP HelloDB MySQL |
my_hellodb.jsp |
815.4 |
36692 |
45.00 |
202 |
23288 |
| hellodb |
Tomcat4 JSP HelloDB MySQL |
my_hellodb.jsp |
627.3 |
28246 |
45.03 |
207 |
44808 |
| hellodb |
mod_perl HelloDB MySQL |
my_hellodb.pm |
1219.9 |
50000 |
40.99 |
211 |
18924 |
| hellodb |
mod_php PHP HelloDB MySQL |
my_hellodb.php |
796.8 |
35864 |
45.01 |
236 |
9860 |
| xslt |
Apache::ASP v2.53 mod_perl XSLT Hello |
hxslt.xml |
355.8 |
16011 |
45.00 |
294 |
36388 |
| xslt |
AxKit v1.6 mod_perl XSLT Hello |
hxslt.xml |
607.5 |
27347 |
45.01 |
426 |
57764 |
| xslt |
Cocoon Tomcat4 XSLT Hello |
hxslt.xml |
99.3 |
4481 |
45.11 |
238 |
68684 |
| xslt |
Embperl v2.0b8 mod_perl XSLT Hello |
hxslt.xml |
813.1 |
36593 |
45.01 |
263 |
26416 |
| xslt |
Resin2 JSP XSLT |
hxslt.jsp |
1033.4 |
46505 |
45.00 |
357 |
24464 |
| xslt |
mod_php PHP XSLT Hello |
hxslt.php |
813.2 |
36595 |
45.00 |
275 |
10716 |
| xsltbig |
Apache::ASP v2.53 mod_perl XSLT Big |
hxsltbig.xml |
256.8 |
11557 |
45.00 |
21550 |
44432 |
| xsltbig |
AxKit v1.6 mod_perl XSLT Big |
hxsltbig.xml |
575.7 |
25910 |
45.01 |
21685 |
56596 |
| xsltbig |
Cocoon Tomcat4 XSLT Big |
hxsltbig.xml |
93.3 |
4201 |
45.01 |
21932 |
82856 |
| xsltbig |
Embperl v2.0b8 mod_perl XSLT Big |
hxsltbig.xml |
116.3 |
5232 |
45.00 |
21516 |
27676 |
| xsltbig |
Resin2 JSP XSLT Big |
hxsltbig.jsp |
853.7 |
38418 |
45.00 |
21783 |
25100 |
| xsltbig |
mod_php PHP XSLT Big |
hxsltbig.php |
113.0 |
5085 |
45.01 |
21528 |
16464 |
 |
|