Interesting... did you also happen to note the memory usage on runs 1,3 & 5? Any sign of the "large memory leak" that the author of the benchmark says he encountered, and that Bruno also alluded to in a previous post?
Should we forfeit these checks because others do not do them and we want to appear faster in the benchmarks? I say no.
--
RunTime(sec) | Appl | Clients | Req | 1xx | 2xx | 3xx | 4xx | 5xx | Err | T-Err | D | D-2xx | Ti | To |
0 | H/F | 5 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 705 |
0 | H/F/S | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | H/F | 15 | 55 | 0 | 60 | 0 | 0 | 0 | 0 | 0 | 6 | 6 | 6900 | 2585 |
3 | H/F/S | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
6 | H/F | 30 | 103 | 0 | 93 | 0 | 0 | 0 | 0 | 0 | 9 | 9 | 10695 | 4841 |
6 | H/F/S | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | H/F | 45 | 170 | 0 | 173 | 0 | 0 | 0 | 0 | 10 | 4 | 4 | 19895 | 8460 |
9 | H/F/S | 45 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
12 | H/F | 60 | 235 | 0 | 223 | 0 | 0 | 0 | 0 | 0 | 4 | 4 | 25645 | 11045 |
12 | H/F/S | 60 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | H/F | 75 | 284 | 0 | 275 | 0 | 0 | 0 | 0 | 11 | 4 | 4 | 31625 | 13865 |
15 | H/F/S | 75 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
18 | H/F | 90 | 286 | 0 | 274 | 0 | 0 | 0 | 0 | 8 | 4 | 4 | 31510 | 13818 |
18 | H/F/S | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
21 | H/F | 105 | 283 | 0 | 266 | 0 | 0 | 0 | 0 | 24 | 7 | 7 | 30590 | 14429 |
21 | H/F/S | 105 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
24 | H/F | 120 | 280 | 0 | 267 | 0 | 0 | 0 | 0 | 33 | 5 | 5 | 30705 | 14711 |
24 | H/F/S | 120 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
27 | H/F | 135 | 334 | 0 | 349 | 0 | 0 | 0 | 0 | 36 | 4 | 4 | 40135 | 17390 |
27 | H/F/S | 135 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
30 | H/F | 150 | 414 | 0 | 383 | 0 | 0 | 0 | 0 | 46 | 4 | 4 | 44045 | 21620 |
30 | H/F/S | 150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
33 | H/F | 165 | 315 | 0 | 276 | 0 | 0 | 0 | 0 | 36 | 9 | 9 | 31740 | 16497 |
33 | H/F/S | 165 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
36 | H/F | 180 | 261 | 0 | 260 | 0 | 0 | 0 | 0 | 62 | 5 | 5 | 29900 | 15181 |
36 | H/F/S | 180 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
39 | H/F | 195 | 386 | 0 | 387 | 0 | 0 | 0 | 0 | 100 | 4 | 4 | 44505 | 22842 |
39 | H/F/S | 195 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
42 | H/F | 200 | 402 | 0 | 402 | 0 | 0 | 0 | 0 | 49 | 5 | 5 | 46230 | 21150 |
42 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
45 | H/F | 200 | 334 | 0 | 318 | 0 | 0 | 0 | 0 | 87 | 7 | 7 | 36570 | 19834 |
45 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
48 | H/F | 200 | 355 | 0 | 374 | 0 | 0 | 0 | 0 | 83 | 4 | 4 | 43010 | 20586 |
48 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
51 | H/F | 200 | 328 | 0 | 306 | 0 | 0 | 0 | 0 | 66 | 5 | 5 | 35190 | 18518 |
51 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
54 | H/F | 200 | 353 | 0 | 362 | 0 | 0 | 0 | 0 | 114 | 5 | 5 | 41630 | 21949 |
54 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
57 | H/F | 200 | 350 | 0 | 333 | 0 | 0 | 0 | 0 | 39 | 5 | 5 | 38295 | 18283 |
57 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
60 | H/F | 200 | 247 | 0 | 211 | 0 | 0 | 59 | 0 | 120 | 9 | 6 | 42948 | 15651 |
60 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
63 | H/F | 200 | 130 | 0 | 38 | 0 | 0 | 111 | 0 | 46 | 95 | 25 | 39693 | 7191 |
63 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
66 | H/F | 200 | 139 | 0 | 20 | 0 | 0 | 125 | 94 | 54 | 174 | 53 | 42772 | 6721 |
66 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
69 | H/F | 200 | 157 | 0 | 50 | 0 | 0 | 94 | 131 | 6 | 65 | 14 | 35693 | 7379 |
69 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
72 | H/F | 200 | 243 | 0 | 36 | 0 | 0 | 74 | 51 | 2 | 139 | 20 | 27986 | 11609 |
72 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
75 | H/F | 200 | 136 | 0 | 36 | 0 | 0 | 106 | 90 | 100 | 114 | 27 | 38060 | 7144 |
75 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
78 | H/F | 200 | 169 | 0 | 10 | 0 | 0 | 153 | 33 | 3 | 113 | 75 | 49596 | 8084 |
78 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
81 | H/F | 200 | 242 | 0 | 5 | 0 | 0 | 144 | 129 | 25 | 133 | 60 | 46532 | 12079 |
81 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
84 | H/F | 200 | 180 | 0 | 0 | 0 | 0 | 178 | 80 | 94 | 112 | 0 | 56366 | 8507 |
84 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
87 | H/F | 200 | 179 | 0 | 0 | 0 | 0 | 178 | 1 | 15 | 110 | 0 | 56127 | 8507 |
87 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
90 | H/F | 200 | 282 | 0 | 0 | 0 | 0 | 179 | 157 | 30 | 109 | 0 | 56683 | 14570 |
90 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
93 | H/F | 200 | 171 | 0 | 0 | 0 | 0 | 167 | 38 | 6 | 120 | 0 | 53123 | 8131 |
93 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
96 | H/F | 200 | 167 | 0 | 0 | 0 | 0 | 168 | 20 | 129 | 124 | 0 | 53200 | 7990 |
96 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
99 | H/F | 200 | 195 | 0 | 0 | 0 | 0 | 166 | 114 | 61 | 121 | 0 | 52327 | 9964 |
99 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
102 | H/F | 200 | 215 | 0 | 0 | 0 | 0 | 172 | 1 | 14 | 116 | 0 | 54706 | 10199 |
102 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
105 | H/F | 200 | 170 | 0 | 0 | 0 | 0 | 167 | 165 | 23 | 131 | 0 | 52883 | 7990 |
105 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
108 | H/F | 200 | 175 | 0 | 0 | 0 | 0 | 169 | 80 | 5 | 119 | 0 | 53516 | 8225 |
108 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
111 | H/F | 200 | 168 | 0 | 0 | 0 | 0 | 169 | 58 | 49 | 125 | 0 | 53516 | 7990 |
111 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
114 | H/F | 200 | 172 | 0 | 0 | 0 | 0 | 165 | 170 | 5 | 124 | 0 | 52250 | 8131 |
114 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
117 | H/F | 200 | 93 | 0 | 0 | 0 | 0 | 83 | 13 | 2 | 317 | 0 | 26283 | 4512 |
117 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
120 | H/F | 200 | 87 | 0 | 0 | 0 | 0 | 49 | 151 | 37 | 558 | 0 | 15516 | 4183 |
120 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
123 | H/F | 200 | 51 | 0 | 0 | 0 | 0 | 49 | 56 | 29 | 570 | 0 | 15516 | 2444 |
123 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
126 | H/F | 200 | 57 | 0 | 0 | 0 | 0 | 54 | 23 | 84 | 565 | 0 | 17100 | 2726 |
126 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
* | * | * | * | * | * | * | * | * | * | * | * | * | * | |
RunTime(sec) | Appl | Clients | Req | 1xx | 2xx | 3xx | 4xx | 5xx | Err | T-Err | D | D-2xx | Ti | To |
129 | H/F | 200 | 9412 | 0 | 5787 | 0 | 0 | 3031 | 1717 | 1854 | 48 | 4 | 37853 | 11402 |
129 | H/F/S | 200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Are you telling us that under heavy load, trying to generate a new session_id at every request using the os entropy generator (/dev/urandom), results in too many files open, causes tickets, and this produces the apparent slow down?What do you suggest?
--
--
--
def motor(app, address, **options):
import motor
app = motor.WSGIContainer(app)
http_server = motor.HTTPServer(app)
http_server.listen(address=address[0], port=address[1])
#http_server.start(2)
motor.IOLoop.instance().start()
server = wsgiserver.CherryPyWSGIServer(address, app, numthreads=1, max=1)
server = wsgiserver.CherryPyWSGIServer(address, app, numthreads=10, max=20)
--
Just stumbled across this benchmark:
http://mindref.blogspot.pt/2012/09/python-fastest-web-framework.html
on the python group discussion:
https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.python/yu1_BQZsPPc
The author also notes a memory leak problem with web2py but no specifics that I could see.
Thoughts?