HTTPdベンチマークスレッド

このエントリーをはてなブックマークに追加
82ちゃんばば
>>77
WEBrick/1.3.1はrubyで出来ているので、WEBrickを使わずにrubyでダミーのwebサーバー組んでテストしてみました。
やっていることは、リクエストのヘッダーを読むけど中身無視して、ファイルも読まずに出力フィルをソースに手書き。
で、同様に極端に遅かったので色々やってみた。
http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=trap%3A%3Atimeout

win版は「$stdin.gets」がThreadの切り替えが出来ないと書いてあったので、「$stdin」に関わるところだけかと思っていたら、これが原因のよう。
sysreadに変えたら
>Concurrency Level: 10
>Time taken for tests: 12.781250 seconds
>Complete requests: 10000
>Failed requests: 0
>Write errors: 0
>Total transferred: 15400000 bytes
>HTML transferred: 14540000 bytes
>Requests per second: 782.40 [#/sec] (mean)
>Time per request: 12.781 [ms] (mean)
>Time per request: 1.278 [ms] (mean, across all concurrent requests)
>Transfer rate: 1176.65 [Kbytes/sec] received
と、まずまずの速度が出た。
WEBrickについては知らん。きっと同じ原因だと思うが....
83ちゃんばば:03/08/17 07:35 ID:amVmO/D3
続き
ちなみに、20KBでどのくらい出るか試したら
>Concurrency Level: 10
>Time taken for tests: 23.828125 seconds
>Complete requests: 10000
>Failed requests: 0
>Write errors: 0
>Total transferred: 200870000 bytes
>HTML transferred: 200000000 bytes
>Requests per second: 419.67 [#/sec] (mean)
>Time per request: 23.828 [ms] (mean)
>Time per request: 2.383 [ms] (mean, across all concurrent requests)
>Transfer rate: 8232.37 [Kbytes/sec] received

CPUの半分をabに食われていることを考えると、apacheとcgiじゃなく、スプリクト言語でのサーバーも有りなのかも....