File: benchmark.html

package info (click to toggle)
libapache-mod-dtcl 0.7.3-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 404 kB
  • ctags: 300
  • sloc: tcl: 1,266; ansic: 1,164; lisp: 563; makefile: 94; sh: 91
file content (174 lines) | stat: -rw-r--r-- 9,137 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">

<html>
  <head>
    <title>Benchmarks - comparisons between mod_dtcl and other systems</title>
  </head>
  <body bgcolor="#ffffff">
    <center>
      <h1>
	Benchmarks - comparisons between mod_dtcl and PHP
      </h1>
    </center>
      <p>
	These are just some rough tests I did using 'ab', the Apache
	Benchmark program.
      </p>
      <p>
	My methodology was as follows:<br>
	I ran 
      </p>
      <code>
	./ab -c 4 -z "bgcolor=#aaaaaa" -w -n 1000
	http://freddy/~davidw/benchmark/bm.php3 >
	public_html/php.html<br>
	./ab -c 4 -z "bgcolor=#aaaaaa" -w -n 1000
	http://freddy/~davidw/benchmark/bm.ttml >
	public_html/dtcl.html<br>
      </code>
      <b>*</b>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:-)<p>
      Where the two pieces of code are the following:<p>

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

And

&lt;+
hputs "&lt;table&gt;\n"

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

      <p>
	This is ApacheBench, Version 1.3<br>
	Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br>
	Copyright (c) 1998-1999 The Apache Group, http://www.apache.org/<br>
      </p>
      <p>
	<!-- top of php3 -->
      <table >
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Software:</th><td colspan=2 bgcolor=#aaaaaa>Apache/1.3.3</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Hostname:</th><td colspan=2 bgcolor=#aaaaaa>freddy</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Port:</th><td colspan=2 bgcolor=#aaaaaa>80</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Document Path:</th><td colspan=2 bgcolor=#aaaaaa>/~davidw/benchmark/bm.php3</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Document Length:</th><td colspan=2 bgcolor=#aaaaaa>8641 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Concurrency Level:</th><td colspan=2 bgcolor=#aaaaaa>4</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Time taken for tests:</th><td colspan=2 bgcolor=#aaaaaa>73.507 seconds</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Complete requests:</th><td colspan=2 bgcolor=#aaaaaa>1000</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Failed requests:</th><td colspan=2 bgcolor=#aaaaaa>0</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Total transferred:</th><td colspan=2 bgcolor=#aaaaaa>8824188 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>HTML transferred:</th><td colspan=2 bgcolor=#aaaaaa>8658693 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Requests per second:</th><td colspan=2 bgcolor=#aaaaaa>13.60</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Transfer rate:</th><td colspan=2 bgcolor=#aaaaaa>120.05 kb/s received</td></tr>
	<tr ><th bgcolor=#aaaaaa colspan=4>Connnection Times (ms)</th></tr>
	<tr ><th bgcolor=#aaaaaa>&nbsp;</th> <th bgcolor=#aaaaaa>min</th>   <th bgcolor=#aaaaaa>avg</th>   <th bgcolor=#aaaaaa>max</th></tr>
	<tr ><th bgcolor=#aaaaaa>Connect:</th><td bgcolor=#aaaaaa>    0</td><td bgcolor=#aaaaaa>    0</td><td bgcolor=#aaaaaa>   34</td></tr>
	<tr ><th bgcolor=#aaaaaa>Processing:</th><td bgcolor=#aaaaaa>   71</td><td bgcolor=#aaaaaa>  292</td><td bgcolor=#aaaaaa> 1194</td></tr>
	<tr ><th bgcolor=#aaaaaa>Total:</th><td bgcolor=#aaaaaa>   71</td><td bgcolor=#aaaaaa>  292</td><td bgcolor=#aaaaaa> 1228</td></tr>
      </table>

      
      <hr>
      <!-- break between php3 and ttml -->
      <p>

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

	<!-- bottom of ttml -->
      <hr>

      For reference purposes, <a href="table.html">table.html</a>
      (which is what both scripts produce), was tested for comparison.
      <p>
	<code>
	  @chimchim [~] $ ./ab -w -n 1000 http://freddy/~davidw/table.html<br>
	</code>
	Which produced:<p>
      <table >
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Software:</th>	<td colspan=2 bgcolor=#aaaaaa>Apache/1.3.3</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Hostname:</th>	<td colspan=2 bgcolor=#aaaaaa>freddy</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Server Port:</th>		<td colspan=2 bgcolor=#aaaaaa>80</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Document Path:</th>		<td colspan=2 bgcolor=#aaaaaa>/~davidw/table.html</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Document Length:</th>	<td colspan=2 bgcolor=#aaaaaa>8642 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Concurrency Level:</th>	<td colspan=2 bgcolor=#aaaaaa>4</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Time taken for tests:</th>	<td colspan=2 bgcolor=#aaaaaa>12.743 seconds</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Complete requests:</th>	<td colspan=2 bgcolor=#aaaaaa>1000</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Failed requests:</th>	<td colspan=2 bgcolor=#aaaaaa>0</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Total transferred:</th>	<td colspan=2 bgcolor=#aaaaaa>8931840 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>HTML transferred:</th>	<td colspan=2 bgcolor=#aaaaaa>8647272 bytes</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Requests per second:</th>	<td colspan=2 bgcolor=#aaaaaa>78.47</td></tr>
	<tr ><th colspan=2 bgcolor=#aaaaaa>Transfer rate:</th>	<td colspan=2 bgcolor=#aaaaaa>700.92 kb/s received</td></tr>
	<tr ><th bgcolor=#aaaaaa colspan=4>Connnection Times (ms)</th></tr>
	<tr ><th bgcolor=#aaaaaa>&nbsp;</th> <th bgcolor=#aaaaaa>min</th>   <th bgcolor=#aaaaaa>avg</th>   <th bgcolor=#aaaaaa>max</th></tr>
	<tr ><th bgcolor=#aaaaaa>Connect:</th>    <td bgcolor=#aaaaaa>    0</td> <td bgcolor=#aaaaaa>    4</td> <td bgcolor=#aaaaaa>   36</td></tr>
	<tr ><th bgcolor=#aaaaaa>Processing:</th> <td bgcolor=#aaaaaa>   26</td> <td bgcolor=#aaaaaa>   46</td> <td bgcolor=#aaaaaa>  604</td></tr>
	<tr ><th bgcolor=#aaaaaa>Total:</th> <td bgcolor=#aaaaaa>   26</td> <td bgcolor=#aaaaaa>   50</td> <td bgcolor=#aaaaaa>  640</td></tr>
      </table>


      <hr>
      Chimchim is a Debian GNU/Linux box running Debian 2.0.<br>
      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.<br>
      Both are sitting on my home network, connected by 10 base-t ethernet.
      <p>
	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.
      </p>
      <p>
	<a href="index.html">Return to the mod_dtcl homepage</a>
      </p>
  </body>
</html>