???????????????
????class SyncSleepHandler(RequestHandler):
????"""
???????????????????1s?????
????"""
????def get(self):
????time.sleep(1)
????self.write("when i sleep 5s")
????class SleepHandler(RequestHandler):
????"""
???????????1?????
????"""
????@tornado.gen.coroutine
????def get(self):
????yield tornado.gen.Task(
????tornado.ioloop.IOLoop.instance().add_timeout??
????time.time() + 1
????)
????self.write("when i sleep 5s")
?????????????
?????  /  ab -n 200 -c 40 http://localhost:8009/demo/syncsleep-handler/
????This is ApacheBench?? Version 2.3 <$Revision: 1528965 $>
????Copyright 1996 Adam Twiss?? Zeus Technology Ltd?? http://www.zeustech.net/
????Licensed to The Apache Software Foundation?? http://www.apache.org/
????Benchmarking localhost (be patient)
????Completed 100 requests
????Completed 200 requests
????Finished 200 requests
????Server Software:        TornadoServer/4.2.1
????Server Hostname:        localhost
????Server Port:            8009
????Document Path:          /demo/syncsleep-handler/
????Document Length:        15 bytes
????Concurrency Level:      40
????Time taken for tests:   200.746 seconds
????Complete requests:      200
????Failed requests:        0
????Total transferred:      42000 bytes
????HTML transferred:       3000 bytes
????Requests per second:    1.00 [#/sec] (mean)
????Time per request:       40149.159 [ms] (mean)
????Time per request:       1003.729 [ms] (mean?? across all concurrent requests)
????Transfer rate:          0.20 [Kbytes/sec] received
????Connection Times (ms)
????min  mean[+/-sd] median   max
????Connect:        0    0   0.2      0       1
????Processing:  1005 36235 18692.2  38133  200745
????Waiting:     1005 36234 18692.2  38133  200745
????Total:       1006 36235 18692.2  38133  200746
????Percentage of the requests served within a certain time (ms)
????50%  38133
????66%  38137
????75%  38142
????80%  38161
????90%  38171
????95%  38176
????98%  38179
????99%  199742
????  200746 (longest request)
????????????
?????  /  ab -n 200 -c 40 http://localhost:8009/demo/sleep-handler/
????This is ApacheBench?? Version 2.3 <$Revision: 1528965 $>
????Copyright 1996 Adam Twiss?? Zeus Technology Ltd?? http://www.zeustech.net/
????Licensed to The Apache Software Foundation?? http://www.apache.org/
????Benchmarking localhost (be patient)
????Completed 100 requests
????Completed 200 requests
????Finished 200 requests
????Server Software:        TornadoServer/4.2.1
????Server Hostname:        localhost
????Server Port:            8009
????Document Path:          /demo/sleep-handler/
????Document Length:        15 bytes
????Concurrency Level:      40
????Time taken for tests:   5.083 seconds
????Complete requests:      200
????Failed requests:        0
????Total transferred:      42000 bytes
????HTML transferred:       3000 bytes
????Requests per second:    39.35 [#/sec] (mean)
????Time per request:       1016.611 [ms] (mean)
????Time per request:       25.415 [ms] (mean?? across all concurrent requests)
????Transfer rate:          8.07 [Kbytes/sec] received
????Connection Times (ms)
????min  mean[+/-sd] median   max
????Connect:        0    0   0.4      0       2
????Processing:  1001 1010  12.0   1005    1053
????Waiting:     1001 1010  12.0   1005    1053
????Total:       1001 1010  12.3   1005    1055
????Percentage of the requests served within a certain time (ms)
????50%   1005
????66%   1009
????75%   1011
????80%   1015
????90%   1032
????95%   1044
????98%   1045
????99%   1054
????   1055 (longest request)