Benchmarks - comparisons between mod_dtcl and PHP

These are just some rough tests I did using 'ab', the Apache Benchmark program.

My methodology was as follows:
I ran

./ab -c 4 -z "bgcolor=#aaaaaa" -w -n 1000 http://freddy/~davidw/benchmark/bm.php3 > public_html/php.html
./ab -c 4 -z "bgcolor=#aaaaaa" -w -n 1000 http://freddy/~davidw/benchmark/bm.ttml > public_html/dtcl.html
*The ab (ApacheBench) program used was from the development apache tree - to be able to output HTML, I had to add in this functionality myself:-)

Where the two pieces of code are the following:

	  
<?
echo "<table>\n";
for ($a = 1; $a <= 16; $a ++)
{ 
    echo "<tr>\n";
    for ($b = 1; $b <= 16; $b ++)
    {
	$num = $a * $b - 1;
	printf("<td bgcolor=%2x%2x%2x>%2x %2x %2x</td>\n", $num, $num, $num, $num, $num, $num );
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

And

<+
hputs "<table>\n"

for { set a 1 } { $a <= 16 } {incr a } { 
    hputs "<tr>\n"
    for { set b 1 } { $b <= 16 } {incr b } {
	set num [ expr $a * $b  - 1 ]
	hputs [ format "<td bgcolor=%2x%2x%2x>%2x %2x %2x</td>\n" $num $num $num $num $num $num ]
    }
    hputs "</tr>\n"
}
hputs "</table>\n"
+>
	
These are the results:

This is ApacheBench, Version 1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-1999 The Apache Group, http://www.apache.org/

Server Software:Apache/1.3.3
Server Hostname:freddy
Server Port:80
Document Path:/~davidw/benchmark/bm.php3
Document Length:8641 bytes
Concurrency Level:4
Time taken for tests:73.507 seconds
Complete requests:1000
Failed requests:0
Total transferred:8824188 bytes
HTML transferred:8658693 bytes
Requests per second:13.60
Transfer rate:120.05 kb/s received
Connnection Times (ms)
  min avg max
Connect: 0 0 34
Processing: 71 292 1194
Total: 71 292 1228


Server Software:Apache/1.3.3
Server Hostname:freddy
Server Port:80
Document Path:/~davidw/benchmark/bm.ttml
Document Length:8642 bytes
Concurrency Level:4
Time taken for tests:32.802 seconds
Complete requests:1000
Failed requests:0
Total transferred:8820811 bytes
HTML transferred:8655316 bytes
Requests per second:30.49
Transfer rate:268.91 kb/s received
Connnection Times (ms)
  min avg max
Connect: 0 0 16
Processing: 32 129 1025
Total: 32 129 1041


For reference purposes, table.html (which is what both scripts produce), was tested for comparison.

@chimchim [~] $ ./ab -w -n 1000 http://freddy/~davidw/table.html
Which produced:

Server Software: Apache/1.3.3
Server Hostname: freddy
Server Port: 80
Document Path: /~davidw/table.html
Document Length: 8642 bytes
Concurrency Level: 4
Time taken for tests: 12.743 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 8931840 bytes
HTML transferred: 8647272 bytes
Requests per second: 78.47
Transfer rate: 700.92 kb/s received
Connnection Times (ms)
  min avg max
Connect: 0 4 36
Processing: 26 46 604
Total: 26 50 640


Chimchim is a Debian GNU/Linux box running Debian 2.0.
Freddy is a Debian GNU/Linux box running pre-Debian 2.1, Apache 1.3.3, mod_dtcl 0.5.0, and PHP 3.0.5, both loaded dynamically.
Both are sitting on my home network, connected by 10 base-t ethernet.

I realize that these tests probably aren't very accurate. If you would like to furnish me with more precise, controlled tests, I would be appreciative. Or at least detail exactly how one might perform tests that could be labeled accurate within some margin of error.

Return to the mod_dtcl homepage