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
Apache2.2 mod_wsgi 2.0
www-data 871 0.0 0.1 13104 2828 ? S 13:14 0:00 /usr/sbin/apache2 -k start
www-data 881 0.0 0.3 238432 7568 ? Sl 13:14 0:00 /usr/sbin/apache2 -k start
www-data 883 0.0 0.3 238432 7636 ? Sl 13:14 0:00 /usr/sbin/apache2 -k start
www-data 1012 0.0 0.3 237888 7332 ? Sl 13:14 0:00 /usr/sbin/apache2 -k start
piranha 1507 20.7 1.2 83196 25228 ? Sl 13:16 0:23 /usr/sbin/apache2 -k start
root 31979 0.0 0.2 13892 5768 ? Ss 13:10 0:00 /usr/sbin/apache2 -k start
piranha@gtv ~>ab -c 50 -n 500 http://byteflow/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: Apache/2.2.8
Server Hostname: byteflow
Server Port: 80
Document Path: /blog/
Document Length: 32785 bytes
Concurrency Level: 50
Time taken for tests: 49.678236 seconds
Complete requests: 500
Failed requests: 4
(Connect: 0, Length: 4, Exceptions: 0)
Write errors: 0
Non-2xx responses: 2
Total transferred: 16503767 bytes
HTML transferred: 16329630 bytes
Requests per second: 10.06 [#/sec] (mean)
Time per request: 4967.823 [ms] (mean)
Time per request: 99.356 [ms] (mean, across all concurrent requests)
Transfer rate: 324.41 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.8 0 5
Processing: 354 4740 914.8 4862 6276
Waiting: 348 4737 914.7 4859 6274
Total: 354 4741 914.6 4862 6276
Percentage of the requests served within a certain time (ms)
50% 4862
66% 4895
75% 4923
80% 4944
90% 5466
95% 6009
98% 6060
99% 6125
100% 6276 (longest request)
Cogen:
piranha 30693 7.3 1.1 30008 24016 pts/2 S+ 13:02 1:13 python cg.py
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:8080/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: cogen.web/0.1.8
Server Hostname: byteflow
Server Port: 8080
Document Path: /blog/
Document Length: 32785 bytes
Concurrency Level: 50
Time taken for tests: 44.689583 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 16548000 bytes
HTML transferred: 16392500 bytes
Requests per second: 11.19 [#/sec] (mean)
Time per request: 4468.958 [ms] (mean)
Time per request: 89.379 [ms] (mean, across all concurrent requests)
Transfer rate: 361.61 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 100 4249 775.1 4458 4536
Waiting: 99 4249 775.2 4457 4536
Total: 100 4249 775.1 4458 4536
Percentage of the requests served within a certain time (ms)
50% 4458
66% 4469
75% 4477
80% 4490
90% 4516
95% 4524
98% 4528
99% 4531
100% 4536 (longest request)
Fapws2:
piranha 2325 45.1 1.0 28048 21736 pts/1 S+ 13:19 0:41 python ./run.py
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:8085/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: fapws2/0.3
Server Hostname: byteflow
Server Port: 8085
Document Path: /blog/
Document Length: 25491 bytes
Concurrency Level: 50
Time taken for tests: 42.919160 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12892000 bytes
HTML transferred: 12745500 bytes
Requests per second: 11.65 [#/sec] (mean)
Time per request: 4291.916 [ms] (mean)
Time per request: 85.838 [ms] (mean, across all concurrent requests)
Transfer rate: 293.32 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 172 4088 723.2 4290 4362
Waiting: 171 4088 723.4 4290 4362
Total: 172 4088 723.2 4290 4362
Percentage of the requests served within a certain time (ms)
50% 4290
66% 4295
75% 4297
80% 4298
90% 4306
95% 4318
98% 4325
99% 4326
100% 4362 (longest request)
CherryPy 3.1.0:
piranha 2935 70.8 1.3 115724 27596 pts/1 Sl+ 13:21 0:46 python ./manage.py runcpserver
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:8088/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: CherryPy/3.1.0
Server Hostname: byteflow
Server Port: 8088
Document Path: /blog/
Document Length: 32785 bytes
Concurrency Level: 50
Time taken for tests: 44.952939 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 16547000 bytes
HTML transferred: 16392500 bytes
Requests per second: 11.12 [#/sec] (mean)
Time per request: 4495.294 [ms] (mean)
Time per request: 89.906 [ms] (mean, across all concurrent requests)
Transfer rate: 359.46 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 587 2486.3 0 20999
Processing: 459 3717 1228.5 4246 7750
Waiting: 456 3706 1227.5 4235 7745
Total: 459 4305 2866.9 4319 25285
Percentage of the requests served within a certain time (ms)
50% 4319
66% 4455
75% 4511
80% 4548
90% 4683
95% 6106
98% 14690
99% 16749
100% 25285 (longest request)