Server Software: Apache
Server Hostname: localhost
Server Port: 80
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 26 bytes
Concurrency Level: 10
Time taken for tests: 6.763819 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1420000 bytes
HTML transferred: 260000 bytes
Requests per second: 1478.45 [#/sec] (mean)
Time per request: 6.764 [ms] (mean)
Time per request: 0.676 [ms] (mean, across all concurrent requests)
Transfer rate: 204.91 [Kbytes/sec] received
つづいてmod_fcgid
Server Software: Apache
Server Hostname: localhost
Server Port: 80
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 382 bytes
Concurrency Level: 10
Time taken for tests: 4.452744 seconds
Complete requests: 10000
Failed requests: 9998
(Connect: 0, Length: 9998, Exceptions: 0)
Write errors: 0
Non-2xx responses: 2
Keep-Alive requests: 0
Total transferred: 1420852 bytes
HTML transferred: 260712 bytes
Requests per second: 2245.81 [#/sec] (mean)
Time per request: 4.453 [ms] (mean)
Time per request: 0.445 [ms] (mean, across all concurrent requests)
Transfer rate: 311.49 [Kbytes/sec] received
ふむ。mod_fcgidの方が速い。けど,どちらもデフォルト設定だからな。
チューニング次第で色々変わるだろうし,チューニングのしやすさとかプロセス管理の機能とか性能以外の面での問題も多いだろう。
そしてlighttpd
Server Software: lighttpd/1.4.8
Server Hostname: localhost
Server Port: 8081
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 26 bytes
Concurrency Level: 10
Time taken for tests: 2.592342 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 10000
Total transferred: 1750000 bytes
HTML transferred: 260000 bytes
Requests per second: 3857.52 [#/sec] (mean)
Time per request: 2.592 [ms] (mean)
Time per request: 0.259 [ms] (mean, across all concurrent requests)
Transfer rate: 658.86 [Kbytes/sec] received
おまけ。
Server Software: nginx/0.3.21
Server Hostname: localhost
Server Port: 8080
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 26 bytes
Concurrency Level: 10
Time taken for tests: 3.33579 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1480000 bytes
HTML transferred: 260000 bytes
Requests per second: 3296.44 [#/sec] (mean)
Time per request: 3.034 [ms] (mean)
Time per request: 0.303 [ms] (mean, across all concurrent requests)
Transfer rate: 476.34 [Kbytes/sec] received
ちなみにtiny-cgi2.fcgiはCで書いた超単純FastCGIアプリ。アプリ側の負荷をできるだけ減らしてFastCGIの性能だけを見ましょうということで。
#include "fcgi_stdio.h"
#include <stdlib.h>
int main(int argc, char* argv[]){
int count = 0;
while(FCGI_Accept() >= 0)
puts("Content-type: text/html\r\n"
"\r\n"
"<h1>FastCGI Hello!</h1>\r\n");
}
それにしても。
init-+-6*[agetty]
|-amavisd---2*[amavisd]
|-apache2-+-apache2
| |-apache2---10*[tiny-cgi2.fcgi]
| |-2*[apache2---apache2---26*[apache2]]
| `-14*[cronolog]
(略)
すごいことになるな。MPM-worker+fcgi+cronolog。mod_cronologを野良ビルドででも組み込んじゃおうか・・・
追記:
tiny-cgi2.fcgiをWWWサーバから起動するのでなくspawn-fcgi -f tiny-cgi2.fcgi -s test.sockとしてソケットを開かせてみたら・・・
Server Software: lighttpd/1.4.8
Server Hostname: localhost
Server Port: 8081
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 26 bytes
Concurrency Level: 10
Time taken for tests: 1.802325 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 10000
Total transferred: 1750000 bytes
HTML transferred: 260000 bytes
Requests per second: 5548.39 [#/sec] (mean)
Time per request: 1.802 [ms] (mean)
Time per request: 0.180 [ms] (mean, across all concurrent requests)
Transfer rate: 947.66 [Kbytes/sec] received
うわ。速っ。
apache2+mod_fastcgiでFastCgiExternalServerしてみる。
Server Software: Apache
Server Hostname: localhost
Server Port: 80
Document Path: /fcgi/tiny-cgi2.fcgi
Document Length: 26 bytes
Concurrency Level: 10
Time taken for tests: 4.784050 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1420000 bytes
HTML transferred: 260000 bytes
Requests per second: 2090.28 [#/sec] (mean)
Time per request: 4.784 [ms] (mean)
Time per request: 0.478 [ms] (mean, across all concurrent requests)
Transfer rate: 289.71 [Kbytes/sec] received
こっちもまあちょっと速くなった。
Trackback URL for this post:
http://www.typemiss.net/trackback/52
Xampp
