Text only
31 Jul 2008 HTML Text
 
wsgi server performance
 
  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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
nginx + 2 * CherryPy, 10 threads each

piranha  25338 16.9  1.0 109784 21768 pts/5    Sl+  13:19   0:15 python ./manage.py runcpserver port=8080
piranha  25349 18.8  1.0 110760 22692 pts/3    Sl+  13:19   0:15 python ./manage.py runcpserver port=8081

piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        nginx/0.5.35
Server Hostname:        byteflow
Server Port:            90

Document Path:          /blog/
Document Length:        25063 bytes

Concurrency Level:      50
Time taken for tests:   19.23148 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12688000 bytes
HTML transferred:       12531500 bytes
Requests per second:    26.28 [#/sec] (mean)
Time per request:       1902.315 [ms] (mean)
Time per request:       38.046 [ms] (mean, across all concurrent requests)
Transfer rate:          651.31 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6  23.4      0      91
Processing:   599 1831 628.6   1855    5385
Waiting:      599 1830 629.1   1855    5384
Total:        604 1838 639.0   1855    5476

Percentage of the requests served within a certain time (ms)
  50%   1855
  66%   1926
  75%   1963
  80%   1991
  90%   2059
  95%   2150
  98%   4701
  99%   4832
 100%   5476 (longest request)




nginx + 2 * twisted

piranha  26012 32.8  1.3 115180 27784 pts/3    Sl+  13:24   0:16 /usr/bin/python /usr/bin/twistd -l /dev/null --pidfile=twistd1.pid -ny twrun.py
piranha  26014 40.5  1.3 116120 27488 pts/5    Sl+  13:24   0:16 /usr/bin/python /usr/bin/twistd -l /dev/null -ny twrun.py

piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        nginx/0.5.35
Server Hostname:        byteflow
Server Port:            90

Document Path:          /blog/
Document Length:        25558 bytes

Concurrency Level:      50
Time taken for tests:   20.287833 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12935500 bytes
HTML transferred:       12779000 bytes
Requests per second:    24.65 [#/sec] (mean)
Time per request:       2028.783 [ms] (mean)
Time per request:       40.576 [ms] (mean, across all concurrent requests)
Transfer rate:          622.64 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       1
Processing:   959 1964 228.9   1998    2525
Waiting:      954 1963 228.9   1996    2525
Total:        959 1964 228.8   1998    2525

Percentage of the requests served within a certain time (ms)
  50%   1998
  66%   2042
  75%   2074
  80%   2101
  90%   2182
  95%   2265
  98%   2303
  99%   2320
 100%   2525 (longest request)




nginx + 2 * fapws2

piranha  26600 19.2  0.7  22556 16264 pts/5    S+   13:26   0:14 python ./faprun.py 8080
piranha  26601 20.0  0.7  22600 16260 pts/3    S+   13:26   0:14 python ./faprun.py 8081

piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        nginx/0.5.35
Server Hostname:        byteflow
Server Port:            90

Document Path:          /blog/
Document Length:        25063 bytes

Concurrency Level:      50
Time taken for tests:   18.228540 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12688000 bytes
HTML transferred:       12531500 bytes
Requests per second:    27.43 [#/sec] (mean)
Time per request:       1822.854 [ms] (mean)
Time per request:       36.457 [ms] (mean, across all concurrent requests)
Transfer rate:          679.70 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       1
Processing:   157 1740 296.4   1811    1961
Waiting:      155 1740 296.6   1810    1961
Total:        157 1740 296.4   1811    1961

Percentage of the requests served within a certain time (ms)
  50%   1811
  66%   1831
  75%   1849
  80%   1861
  90%   1901
  95%   1921
  98%   1938
  99%   1958
 100%   1961 (longest request)




nginx + 2 * cogen

piranha  27793 19.0  0.9  26120 20140 pts/5    S+   13:29   0:14 python ./cg.py 8080
piranha  27794 20.3  1.0  27232 21264 pts/3    S+   13:29   0:14 python ./cg.py 8081

piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/ 
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        nginx/0.5.35
Server Hostname:        byteflow
Server Port:            90

Document Path:          /blog/
Document Length:        25063 bytes

Concurrency Level:      50
Time taken for tests:   18.489832 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12688000 bytes
HTML transferred:       12531500 bytes
Requests per second:    27.04 [#/sec] (mean)
Time per request:       1848.983 [ms] (mean)
Time per request:       36.980 [ms] (mean, across all concurrent requests)
Transfer rate:          670.10 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:    78 1759 315.3   1844    1935
Waiting:       77 1759 315.5   1844    1935
Total:         79 1759 315.3   1844    1935

Percentage of the requests served within a certain time (ms)
  50%   1844
  66%   1854
  75%   1863
  80%   1874
  90%   1890
  95%   1898
  98%   1911
  99%   1926
 100%   1935 (longest request)




nginx + 2 * apache mod_wsgi daemonprocesses

root     29370  0.0  0.3  16644  8020 ?        Ss   14:06   0:00 /usr/sbin/apache2 -k start
www-data 29972  0.0  0.2  15772  5044 ?        S    14:14   0:00 /usr/sbin/apache2 -k start
piranha  29973 12.3  1.1  81656 23272 ?        Sl   14:14   0:16 /usr/sbin/apache2 -k start
piranha  29975 12.5  1.0  80692 22516 ?        Sl   14:14   0:16 /usr/sbin/apache2 -k start
www-data 29977  0.0  0.4 240784  9612 ?        Sl   14:14   0:00 /usr/sbin/apache2 -k start
www-data 30005  0.0  0.4 240920  9580 ?        Sl   14:14   0:00 /usr/sbin/apache2 -k start
www-data 30206  0.0  0.4 239488  9060 ?        Sl   14:16   0:00 /usr/sbin/apache2 -k start

piranha@gtv ~>ab -c 50 -n 500 http://gtv:90/blog/  
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking gtv (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        nginx/0.5.35
Server Hostname:        gtv
Server Port:            90

Document Path:          /blog/
Document Length:        25063 bytes

Concurrency Level:      50
Time taken for tests:   20.741242 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12688144 bytes
HTML transferred:       12531500 bytes
Requests per second:    24.11 [#/sec] (mean)
Time per request:       2074.124 [ms] (mean)
Time per request:       41.482 [ms] (mean, across all concurrent requests)
Transfer rate:          597.36 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       2
Processing:   318 1943 541.4   1938    2910
Waiting:      317 1942 541.5   1938    2910
Total:        318 1943 541.4   1938    2910

Percentage of the requests served within a certain time (ms)
  50%   1938
  66%   2240
  75%   2393
  80%   2470
  90%   2632
  95%   2737
  98%   2783
  99%   2797
 100%   2910 (longest request)




Spawning 0.7

piranha  31274  0.1  0.4 176348  9056 pts/3    Sl+  14:21   0:00 /usr/bin/python /usr/local/bin/spawn -f spawning.django_factory.config_factory settings -p 9090 -s 2 -t 100

piranha  31295 24.5  1.7 862052 37212 pts/3    Sl+  14:21   0:16 /usr/bin/python /usr/local/lib/python2.5/site-packages/Spawning-0.7-py2.5.egg/spawning/spawning_child.pyc 31274 3 4 spawning.django_factory.config_factory {"processpool_workers": 0, "args": ["settings"], "num_processes": 2, "watch": null, "dev": true, "host": "", "threadpool_workers": 100, "port": 9090} --reload

piranha  31296 33.6  2.1 867992 43972 pts/3    Sl+  14:21   0:22 /usr/bin/python /usr/local/lib/python2.5/site-packages/Spawning-0.7-py2.5.egg/spawning/spawning_child.pyc 31274 3 4 spawning.django_factory.config_factory {"processpool_workers": 0, "args": ["settings"], "num_processes": 2, "watch": null, "dev": true, "host": "", "threadpool_workers": 100, "port": 9090}


piranha@gtv ~>ab -c 50 -n 500 http://gtv:9090/blog/ 
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking gtv (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests


Server Software:        
Server Hostname:        gtv
Server Port:            9090

Document Path:          /blog/
Document Length:        25063 bytes

Concurrency Level:      50
Time taken for tests:   20.214640 seconds
Complete requests:      500
Failed requests:        0
Write errors:           0
Total transferred:      12679500 bytes
HTML transferred:       12531500 bytes
Requests per second:    24.73 [#/sec] (mean)
Time per request:       2021.464 [ms] (mean)
Time per request:       40.429 [ms] (mean, across all concurrent requests)
Transfer rate:          612.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       1
Processing:   333 1982 603.9   2053    3829
Waiting:      333 1976 602.4   2053    3829
Total:        333 1982 603.9   2053    3829

Percentage of the requests served within a certain time (ms)
  50%   2053
  66%   2283
  75%   2388
  80%   2450
  90%   2728
  95%   2943
  98%   3055
  99%   3258
 100%   3829 (longest request)