CherryPy メーリング リストからの相互投稿。
こんにちは、みんな、
私はチェリーピーが初めてで、この次の簡単なベンチマークの結果を理解しようとしています。この "hello world" アプリの場合:
import cherrypy
class Hello:
@cherrypy.expose
def index(self):
return 'hello'
cherrypy.server.thread_pool = 50
cherrypy.quickstart(Hello())
実行するab -c 10 -n 1000
と、次の結果が得られます。
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
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
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: CherryPy/3.2.4
Server Hostname: localhost
Server Port: 8080
Document Path: /
Document Length: 5 bytes
Concurrency Level: 10
Time taken for tests: 4.494 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 143000 bytes
HTML transferred: 5000 bytes
Requests per second: 222.53 [#/sec] (mean)
Time per request: 44.938 [ms] (mean)
Time per request: 4.494 [ms] (mean, across all concurrent requests)
Transfer rate: 31.08 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 31.6 0 998
Processing: 2 16 183.1 5 4493
Waiting: 1 15 183.1 5 4492
Total: 2 17 185.7 5 4493
Percentage of the requests served within a certain time (ms)
50% 5
66% 7
75% 11
80% 13
90% 18
95% 21
98% 24
99% 25
100% 4493 (longest request)
最長のリクエストは完了するまでに 4 秒以上かかることに注意してください。アプリでスレッド数を 50 に設定し、ab が 10 個の同時要求を使用することを考えると、cherrypy はそれを簡単に処理できると期待できます。私は何が欠けていますか?さまざまな #threads と同時リクエストを試してみましたが、同様の結果が得られました。私はCherryPy v.3.2.4を使用しています
助けてくれてありがとう、L.