【激速】mod_perl SpeedyCGI FastCGI【激速】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/05(月) 20:01:09ID:+YcYjDiDhttp://perl.apache.org/
SpeedyCGI
http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
前スレ
mod_perlを使おう!
http://pc8.2ch.net/test/read.cgi/php/1005122528/
ー二三ヘ( ゚∀゚)ノ
0262nobodyさん
2006/06/21(水) 19:26:27ID:???0263nobodyさん
2006/06/22(木) 16:38:10ID:???バイトコード間でもバージョンが違うと動かないし。
0264nobodyさん
2006/06/23(金) 02:29:54ID:ybv8oJFI質問したのに、無視しといて、>>257が質問したら、急に
レスが付くって、本当にありがとう。
0265nobodyさん
2006/06/23(金) 06:47:43ID:???大人は質問に答えたりしない
それが基本だ お前たちはその基本をはきちがえているから
今朽ち果てて こんな船にいるのだ
無論中には 答える大人もいる
しかし それは答える側にとって
都合のいい内容だからそうしているのであって
そんなものを信用するってことは
つまりのせられているってことだ
なぜそれがわからない・・・・?
なぜ・・・・ そのことに気付かない・・・・?
0266nobodyさん
NGNG0268nobodyさん
2006/06/23(金) 15:46:55ID:6y25kE0Lmod_speedycgiにあるのかな?
DBをあつかってるシステムならPerlRegistry+Apache::DBIがベストだと思ってたけど
ApacheとDBのプロセスで食いつぶれるメモリの配慮でツカレタよ。
なんかmod_speedycgiよさげだね。
0269nobodyさん
2006/06/23(金) 15:51:08ID:???0270nobodyさん
2006/06/23(金) 22:15:44ID:???フロントコントローラしてくれる手軽なFWがあれば便利なんだけど。
perl -MCPAN -e "Bundle::Maypole" したら、あまりにも大袈裟なんで、めげた。
0271nobodyさん
2006/06/25(日) 04:11:20ID:???バイトコードへの変換はそれほどコストが掛かる訳じゃないので
perlccでバイトコードへ変換してもそれほど高速にはなりません。
とはいえ実測では1割程度の速度アップが見られました。
誰もが初めからレス見てると思うなよ、ガラスの十代め。
0272245
2006/06/25(日) 09:47:47ID:HMa92uFN誰をガラスの十代って言ってるのかとおもたらこの漏れのことか。
とてもご親切にありがとう。これから「ガラスの十代」ググってきまつ。
0273nobodyさん
2006/06/25(日) 09:56:40ID:???0274267
2006/06/25(日) 22:58:06ID:???測定環境
K6-2 475MHz
SDRAM 512MB
Vine3.2最小構成+α
Apache2.0.58、mod_perl、SpeedyCGIはソースからコンパイル。
httpd.conf、コマンドラインスイッチはデフォルトのまま使用(Alias等のみhttpd.confに追加)。
mod_speedycgiはworkerで動かない模様(エラーログにスレッド下で動かしたとでる)なのでとっていない。
ノーマルCGIとperlcc -Bは一度クラッシュすると数分間CPU全開になるため、1回目で×の場合2回目以降はとっていない。
mod_perl、SpeedyCGIはクラッシュ後すぐに回復するのでその後も継続。
mod_perl、SpeedyCGIは1回目に必ず初期化が起こる条件で測定。
(mod_perlはApache再起動、SpeedyCGIはソースをtouch)
(これはリソースの解放の意図も含む)
以下、結果レポート。
0275267
2006/06/25(日) 22:59:21ID:???CGI perlcc -B SpeedyCGI mod_perl worker
1回目 0.45 1.24 2.33 2.37
2回目 0.45 1.25 6.90 7.87
3回目 0.45 1.25 6.90 7.95
4回目 0.45 1.25 6.91 7.95
5回目 0.45 1.25 6.95 7.89
平均 0.45 1.25 6.00 6.81
Requests per second
ab -n 20 -c 10
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 0.44 1.14 1.87 0.59
2回目 0.44 1.16 5.53 4.28
3回目 0.43 1.16 5.53 5.52
4回目 0.37 1.13 5.13 4.82
5回目 0.44 1.16 5.09 4.61
平均 0.42 1.15 4.63 3.96
Requests per second
ab -n 20 -c 20
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.97 1.75 0.59
2回目 ABORT 1.00 4.64 4.60
3回目 ABORT 0.97 4.77 ABORT
4回目 ABORT 0.95 5.43 3.01
5回目 ABORT 0.95 4.86 4.31
平均 #DIV/0! 0.97 4.29 3.13
Requests per second
0276267
2006/06/25(日) 23:00:12ID:???CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.69 1.13 ABORT
2回目 ABORT 0.50 5.19 ABORT
3回目 ABORT 0.60 5.29 5.05
4回目 ABORT 0.54 5.57 0.80
5回目 ABORT 0.69 4.99 5.05
平均 #DIV/0! 0.60 4.43 3.63
Requests per second
ab -n 20 -c 100
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.51 1.25 ABORT
2回目 ABORT ABORT 4.48 1.88
3回目 ABORT ABORT 4.39 0.85
4回目 ABORT ABORT 2.32 0.92
5回目 ABORT ABORT 3.99 2.42
平均 #DIV/0! 0.51 3.29 1.52
Requests per second
ab -n 20 -c 150
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.54 1.14 ABORT
2回目 ABORT ABORT 2.23 0.40
3回目 ABORT ABORT 1.57 1.14
4回目 ABORT ABORT 4.77 1.28
5回目 ABORT ABORT 4.73 0.97
平均 #DIV/0! 0.54 2.89 0.95
Requests per second
0277267
2006/06/25(日) 23:00:54ID:???CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.50 1.08 ABORT
2回目 ABORT ABORT 5.10 1.76
3回目 ABORT ABORT 1.12 0.66
4回目 ABORT ABORT 1.19 0.69
5回目 ABORT ABORT 1.18 0.64
平均 #DIV/0! 0.50 1.93 0.94
Requests per second
0278267
2006/06/25(日) 23:02:49ID:???ABORT時のメッセージはどれも
The timeout specified has expired (70007)
で同じ。
0279267
2006/06/25(日) 23:26:46ID:???使用ソース
運用中nicky.cgi改(SpeedyCGI、mod_perl対応)
0280nobodyさん
NGNG0282nobodyさん
2006/06/25(日) 23:49:53ID:???あまりないと言う事かな?
それにしても、SpeedyCGIは強いね。
0283282
2006/06/26(月) 00:27:02ID:???測定条件は違います。
前回:Vine3.2フルインストール(Apache1.3.33、mod_perl含む)+SpeedyCGIソース
今回:Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(workerでコンパイル)+mod_perlソース+SpeedyCGIソース
なぜこのようになったかというと、Apache2環境のアクセラレータがディストリのものではうまく揃わなかったからです。
Vine、Debianを試しましたがApache1しか揃いません。
>prefork,workerの差は、あまりないと言う事かな?
前回がApache1だし、-c 10の場合しかとってないので、
次回:Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(preforkでコンパイル)+mod_perlソース+SpeedyCGIソース
で同条件のベンチを取ってみます。
cが大きくなった場合が違う?
今度はmod_speedycgiもとれるかと。
余裕があればFastCGIも追加します。
0284267
2006/06/26(月) 00:30:33ID:???0285nobodyさん
2006/06/26(月) 07:53:28ID:???これ読んで気づいたけど、今回のS;peedyCGIは、mod_speedycgiではなかったんですね。
それから、mod_perl workerはRegistryだと思うけど、PerlRunの結果と、1回で良いから、
同一内容のhtmlを静的コンテンツとして取り出した際の値も併記してもらえれば嬉しい
です。
0286267
2006/06/26(月) 09:34:03ID:???了解。
実運用のNicky!のデータを吸い込ませたので、同一内容のhtmlは元々有ります。
ただ、mod_perlと併用した場合とかなると条件をどうするか面倒なのでできれば静的コンテンツ単体で取りたいです。
複雑なものは、基本的なものが揃ってから。
後、ディストリはGentooがよかったかな。
ちょっと構築に時間がかかるけど。
0287nobodyさん
2006/06/26(月) 20:13:13ID:???200並列全体で20回のリクエストでしょ?
更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。
0288267
2006/06/26(月) 20:30:46ID:???http.confはいじってないのでMaxClients150のままです。
MaxClients150でc 200のときにどうなるのか興味があったので、あえて200を試しました。
> 更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。
すいませんが、よく意味がわかりません。
新しくプロセスを起こしてしまっているという意味でしょうか?
私はデータを提供しただけなので、問題があれば自分で反論を証明するデータを提出してください。
少なくとも「気がする」というような反論は勘弁してもらいたいです。
0289267
2006/06/26(月) 20:41:23ID:???perlcc -Bの時に2回目からクラッシュするパターンが多いですが、
実はこれは1回目が終わったあと動作が異常に重くなっていました。
恐らくCPU全開が数分間続くパターンに入っていたと思います。
次回検証します。
後、mod_perlの1回目がロースコアかつクラッシュが多い点について。
私見ですが、mod_perlはperlインタープリタを複製するのに、Apacheのプロセスを複製する必要があります。
当然1回目の起動コストは高くなると思います。
0290nobodyさん
2006/06/26(月) 22:49:50ID:???>>287 が言っている事は、
-n 20 -c 200 だと、200回の同時接続要求を出すのに、全体のリクエスト数が
それ以下の20回と言うのはおかしい。nの値は、cより大きい筈ではないか、
ではないかと思います。
もし、同時接続200を20回繰り返すという意図なら、-n 4000 -c 20 という感じか
なと。(abが、リクエスト完了の後、すぐに次のリクエストを発行すれば、-n 4000
が、この意図を満たすのに適当な値ではないのですが)
ちなみに、n < c の場合、少なくとも、c回のリクエストは発行する様です。
0291nobodyさん
2006/06/27(火) 00:20:58ID:???べつにどんな方法でどうでもいいんじゃないかな。
0292nobodyさん
NGNG嘘をつくメリットもないので、
参考にはなると思いますよ。
0293nobodyさん
2006/06/27(火) 03:21:02ID:???0294nobodyさん
2006/06/27(火) 03:27:58ID:???-n:リクエスト数
-c:同時接続数
で、-n 20 -c 200 とか思ってたけど、奥深いんやね
0296245
2006/06/27(火) 04:46:08ID:z6n+0wh90298nobodyさん
NGNGmod_perlはでかいメモリ間コピーをするから遅いってのが分かるじゃん
0299nobodyさん
2006/06/27(火) 10:39:42ID:???そもそも、ベンチの結果なんて取り方によって変わって来るわけで、
267が書いている結果を、そのまま鵜呑みにする事は間違った判断
だと思う。その意味では、私も「信用」はしていない。
しかし、オナニーベンチの積み重ねで、一般的な傾向は見えると思う
ので、「参考」になるとは思っている。
また、今までCGI、SpeedyCGI,FastCGI,mod_perlを比較したベンチを
目にする機会があまりなかったので、ネット上の情報を見て、
CGI << SpeedyCGI < FastCGI < mod_perl(Registry)
だと思い込んでいたが、SpeedyCGI,FastCGI,mod_perlの速度は大差
がなく、順番だって怪し事が分かった事は、とても良かったと思う。
ちなみに、このスレを最初から読めば、267が匿名とは言い難い気がする。
0301nobodyさん
2006/06/27(火) 11:32:54ID:???0302nobodyさん
NGNGそれもmod_perl厨w
0303nobodyさん
2006/06/27(火) 18:14:29ID:???http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
のFAQには、
> ・データベースへの接続を持続させたままにするにはどうすればよいですか?
>
> グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は接続を
> グローバル変数に格納し、実行のたびにその変数が既に定義されているかをチェックする
> ことです。
と書いてある。
0304nobodyさん
2006/06/28(水) 01:04:03ID:???http://dictionary.goo.ne.jp/search.php?MT=%C6%BF%CC%BE&search_history=&kind=&kwassist=0&mode=0&jn.x=44&jn.y=4
> 自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。
匿名とは何か、定義を教えていただきたい。
0305nobodyさん
2006/06/28(水) 01:51:08ID:???> 匿名とは何か、定義を教えていただきたい。
自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。
0306nobodyさん
2006/06/28(水) 02:08:26ID:???0307268
2006/06/28(水) 03:14:36ID:???アザース
mod_speedycgiもメモリ使用量が肥大しないようなので
今動かしてるシステムをmod_speedycgiに移行させる予定。
mod_speedycgiのレポートはこれからかな?
ググみたけど障害系のレポートが見つからなかったのが不安
0308nobodyさん
NGNG0309nobodyさん
2006/06/28(水) 18:03:20ID:???mod_speedycgiが入ってないのは、worker下ではエラーになったからです。
preforkで取るつもりです。
現在は、workerを取り直し中です。
0310274
2006/06/29(木) 02:24:13ID:???K6-2 475MHz
512MB
Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(workerでコンパイル)+mod_perlソース+SpeedyCGIソース+FastCGIソース
今回のパラメータでの結果は、cが大きい時のレスポンスの落ち込みが少ないが、前回のパラメータと併せて再現性確認。
またPerlRunのスコアがCGIより悪いという?な点もあるが、これも再現性確認しているので公開。
perlcc -Bが2回目にクラッシュするパターンは1回目終了時にCPU全開が続いていることを確認。
以下、結果報告。
0311nobodyさん
NGNG0312274
2006/06/29(木) 02:34:01ID:???CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 0.45 1.24 2.38 2.68 1.32 0.32 189.81
2回目 0.45 1.24 6.96 7.60 7.87 0.34 222.72
3回目 0.45 1.24 6.87 7.48 7.95 0.33 219.93
4回目 0.45 1.24 6.93 7.51 7.85 0.34 224.07
5回目 0.45 1.24 6.92 7.50 7.93 0.34 222.52
平均 0.45 1.24 6.01 6.55 6.58 0.33 215.81
Requests per second
ab -n 100 -c 10
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 0.45 1.20 5.64 5.52 2.11 0.32 237.32
2回目 0.44 1.20 6.41 7.50 1.22 0.33 242.48
3回目 0.45 1.21 6.47 7.52 5.13 0.33 242.96
4回目 0.45 1.21 6.49 7.49 5.36 0.33 241.45
5回目 0.45 1.21 6.45 7.48 5.19 0.34 242.16
平均 0.45 1.21 6.29 7.10 3.80 0.33 241.27
Requests per second
0313274
2006/06/29(木) 02:38:35ID:???CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.19 5.26 3.89 ABORT 0.33 231.57
2回目 ABORT 1.19 6.41 7.39 5.38 0.33 239.48
3回目 ABORT 1.20 6.41 7.38 5.56 0.33 240.23
4回目 ABORT 1.20 6.33 7.41 5.53 0.34 238.80
5回目 ABORT 1.19 6.37 7.35 5.54 ABORT 239.41
平均 #DIV/0! 1.19 6.16 6.68 5.50 0.33 237.90
Requests per second
ab -n 400 -c 40
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.18 5.47 5.10 ABORT 0.33 230.60
2回目 ABORT 1.17 6.43 7.35 ABORT 0.35 231.21
3回目 ABORT 1.16 6.45 7.38 4.17 ABORT 233.83
4回目 ABORT 1.16 6.35 7.33 2.89 0.35 236.18
5回目 ABORT 1.17 6.31 7.03 6.63 ABORT 235.31
平均 #DIV/0! 1.17 6.20 6.84 4.56 0.34 233.43
Requests per second
0314274
2006/06/29(木) 02:42:52ID:???CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.17 5.97 6.12 ABORT ABORT 212.58
2回目 ABORT ABORT 6.56 7.10 4.82 ABORT 216.15
3回目 ABORT ABORT 6.52 7.09 5.00 ABORT 214.76
4回目 ABORT ABORT 6.57 7.05 4.59 ABORT 214.61
5回目 ABORT ABORT 6.42 7.16 4.67 ABORT 215.17
平均 #DIV/0! 1.17 6.41 6.90 4.77 #DIV/0! 214.65
Requests per second
ab -n 1500 -c 150
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.18 6.06 6.34 ABORT ABORT 218.86
2回目 ABORT ABORT 6.58 6.75 5.35 ABORT 218.53
3回目 ABORT ABORT 6.55 6.70 5.71 ABORT 219.78
4回目 ABORT ABORT 6.54 6.80 5.39 ABORT 215.90
5回目 ABORT ABORT 6.40 7.03 5.75 ABORT 214.78
平均 #DIV/0! 1.18 6.43 6.72 5.55 #DIV/0! 217.57
Requests per second
0315274
2006/06/29(木) 02:45:25ID:???CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.19 6.16 6.41 ABORT ABORT 220.36
2回目 ABORT ABORT 6.58 6.90 5.17 ABORT 220.84
3回目 ABORT ABORT 6.26 6.92 5.77 ABORT 218.00
4回目 ABORT ABORT 6.29 6.85 5.79 ABORT 218.32
5回目 ABORT ABORT 6.32 6.92 5.96 ABORT 220.42
平均 #DIV/0! 1.19 6.32 6.80 5.67 #DIV/0! 219.59
Requests per second
以上、報告終わり。
0316274
2006/06/29(木) 02:50:53ID:???ソースnicky.cgi改。
0317nobodyさん
2006/06/29(木) 03:09:10ID:???それに感動しちゃった
0318nobodyさん
NGNG0319nobodyさん
2006/06/29(木) 07:09:29ID:???0320nobodyさん
2006/06/29(木) 09:58:45ID:npShM0+K0321nobodyさん
2006/06/29(木) 10:52:53ID:???apache2でやるならmod_perl2と小耳にした。
0322nobodyさん
2006/06/29(木) 10:58:14ID:???ご苦労様です。m(__)m
nicky.cgi改ってのは、ほとんど一本物のプログラムですか?
そうだとすれば、PerlRunだと、ほとんどキャッシュされないからCGI並みのスピードに
なるのは理解できますが、ここまで遅くなる理由は何でしょうね。
ほとんどの機能をmodule側に移せば、PerlRunもそれなりに速くなる筈。
SpeedyCGIとFastCGIの速度比は、うちで取ってみたSpeedyCGIとmod_speedycgiの
比とほぼ一緒。多分、FastCGIとmod_speedycgiは、同程度の速度と言う結果になる
のかなと予測しています。
ちなみに、SpeedyCGIのMaxRunsはデフォルトの500でしょうか。
そうだとすると、-n 2000では、途中3回、再execされているんですよね。
0323nobodyさん
2006/06/29(木) 11:14:15ID:???0324nobodyさん
2006/06/29(木) 13:42:36ID:???>>232の結果と併せて見れば、どう転んでも、同時接続数が少ない時は、
mod_perl(Registry),mod_speedycgi,fastcgiは同じ程度の速度だが、同時
接続数が増えると、mod_perl(Registry)の速度低下が目立つが他は、大き
な影響を受けないという傾向は動かないと思える。
ところで、
http://pc8.2ch.net/test/read.cgi/php/1141214874/16
にある話は本当?
FastCGIが標準でApacheに搭載される様になれば、FastCGIへの移行を
考えるけど、取りあえずは、環境に応じて、mod_speedycgiとspeedyCGIを
使い分けるのが現実的な選択の様ね。
0325274
2006/06/29(木) 14:17:43ID:???> nicky.cgi改ってのは、ほとんど一本物のプログラムですか?
はい、まさに一本物です。
FastCGIだけ数行コード追加しましたが、他はすべて同じソースでベンチを取りました。
> そうだとすれば、PerlRunだと、ほとんどキャッシュされないからCGI並みのスピードに
> なるのは理解できますが、ここまで遅くなる理由は何でしょうね。
これは、私も悩みました。
ただ言えることは、nicky.cgi改が一本物でサイズ約160KB、CPUが非力という条件のため、
「このベンチでは、インタープリタ起動のコストより、コードのコンパイルのコストが支配的になっている。」
ということです。
これは、perlcc -BがCGIの3倍弱でていることからもわかると思います。
あと、PerlRunであってもメモリはプロセス当たり30MB超えていました。
PerlRunのこの辺の仕様はよく知りませんが、これも関係あるかもしれません。
> ちなみに、SpeedyCGIのMaxRunsはデフォルトの500でしょうか。
他の場合も含め基本的にはコマンドラインスイッチや、httpd.confはいじっていません。
もし扱うとどのあたりにするか面倒なので。
ただし、テストに必要な分だけはhttpd.confに書き込んでいます。
(LoadModule、AddHandler等)
0326nobodyさん
2006/06/29(木) 14:25:15ID:???0327274
2006/06/29(木) 14:26:35ID:???> apache2 workerとmod_perlって合性悪いんじゃなかったっけ?
すいません。
報告が悪かったです。
>310でmod_perlと書きましたが正確にはmod_perl-2.0.2です。
mod_perl-2.0.2+PersistentPerl-2.22+fcgi-2.4.0+mod_fastcgi-2.4.2です。
0329nobodyさん
2006/06/29(木) 14:55:42ID:???なにその巨大なウンコ。
0330nobodyさん
NGNGスクリプトにアクセスした瞬間数十MBのerrorlog吐いてプロセスが暴走した
なんで
0331nobodyさん
2006/06/29(木) 15:00:33ID:???0332nobodyさん
2006/06/29(木) 15:11:40ID:???http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Fast.pod
1.まずはここのサンプルCGIがFastCGIで動くようする。(手順通りにインスコすれば動くはず)
2.自分のスクリプトを動かす。
このような手順でやらないと何が間違いかエラーログだけではわからないと思う。
0333nobodyさん
NGNG0334nobodyさん
2006/06/29(木) 15:20:52ID:???FastCGIの場合、CGI::FastまたはFCGIの無限ループを実行させるので、
use CGI::Fast;
か
use FCGI;
は必須です。
0335nobodyさん
2006/06/29(木) 15:32:42ID:???FastCGIはいい情報あまりありませんが、
CGI::Fastなら
http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Fast.pod
や
http://www.drk7.jp/MT/archives/000917.html
の下の方にあるFastCGI サンプル CGI のソースが参考になると思います。
FCGIなら本家の
http://www.fastcgi.com/devkit/doc/fastcgi-prog-guide/ch3perl.htm#5002
(特にサンプルプログラム)
ここが参考になると思います。
手取り足取りのようなマニュアルはおそらく無いと思います。
0337335
2006/06/29(木) 15:50:27ID:???ここには短いソースで取ったFastCGI VS mod_perl のベンチが最後の方に載っています。
(ab -n 100 -c 10)
結果はやはり小差でFastCGIの勝ちです。
0338nobodyさん
2006/06/29(木) 16:33:16ID:???この比較は、
lighttpd + FastCGI vs mod_perl + Apache1.3
で、httpd自体が違うんで、単純なmod_perl対FastCGIでは無いんです。
ただ、この lighttpd + FastCGI という組み合わせも面白そうですよね。
これなら、dagでrpmから入れられるし。
0339335
2006/06/29(木) 17:01:24ID:???確かにその通りのようですね。
しかし、この結果を見るとlighttpd + FastCGIはApache + FastCGIより速いのかな?
と思います。
単体で圧勝するのは周知の事実のようですが。
0340nobodyさん
2006/06/29(木) 18:24:12ID:???> しかし、この結果を見るとlighttpd + FastCGIはApache + FastCGIより速いのかな?
> と思います。
この点は、微妙ですね。
同じ-c 10 で比較すると、274の結果では大差が付いているものの、337のサイトでは小差。
mod_perlの処理結果を元に比較すれば、Apache + FastCGIの方が速い様に見えます。
しかし、274のベンチは、かなりサイズの大きなソースを実行した結果ですが、337にある
サイトの結果は、Hello Worldの世界。
>>298の言う原因で-c が増えると mod_perl が遅くなるというのであれば、むしろ274のベンチ
の -c 1 あたりと比較する方が妥当とも考えられます。
と言うことで、やってみないと何とも言えない様に思います。
ただ、静的コンテンツについては lighttpd の方が速いそうなので、僅かに lighttpd の勝ち
かなという気もしています。
まあ、差が出たとしても、意味のある差は出ない様に思いますが。
0341nobodyさん
2006/06/29(木) 21:19:22ID:???ということで、速度に関して議論することは不毛であるという結論になりました。
0342nobodyさん
2006/06/29(木) 21:33:27ID:???0343nobodyさん
2006/06/29(木) 21:50:21ID:???0344nobodyさん
2006/06/29(木) 21:57:00ID:???0345nobodyさん
2006/06/29(木) 21:59:44ID:???0347nobodyさん
2006/06/30(金) 00:40:29ID:???その変わりに、純国産言語Rubyがあちらで盛り上がって逆輸入されている模様。
RubyのFastCGI対応は容易だそうです。
0349nobodyさん
NGNG0351nobodyさん
2006/06/30(金) 19:15:37ID:???0352nobodyさん
2006/06/30(金) 21:21:51ID:???0353nobodyさん
2006/06/30(金) 22:24:25ID:???0355310
2006/06/30(金) 23:06:24ID:???512MB
Vine3.2最小インストール+コンパイル環境
+Apache2.0.58ソース(preforkでコンパイル)+mod_perl-2.0.2ソース+PersistentPerl-2.22ソース+fcgi-2.4.0ソース+mod_fastcgi-2.4.2ソース
テストソースnicky.cgi改(約160KB)
1パラメータセット終わる度に、
SpeedyCGI、mod_speedycgiはテストソースをtouch、
fastcgi、Registry、PerlRunはhttpdを再起動してキャッシュをリセット。
Registryは-c 40以降、PerlRunは-c 100以降でswapが発生したため、1パラメータ終わる度にPCを再起動。
以下、結果報告。
0356310
2006/06/30(金) 23:10:19ID:???CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 0.45 1.24 2.60 2.51 2.13 0.44 0.31 191.98
2回目 0.45 1.25 7.15 8.39 7.57 8.17 0.36 232.50
3回目 0.45 1.24 7.05 8.40 7.57 8.15 0.37 244.87
4回目 0.45 1.24 7.01 8.39 7.70 8.06 0.37 245.72
5回目 0.45 1.24 7.04 8.54 7.70 8.04 0.36 241.94
平均 0.45 1.24 6.17 7.25 6.53 6.57 0.35 231.40
Requests per second
ab -n 100 -c 10
CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 0.45 1.21 5.59 7.94 6.41 1.36 0.34 248.19
2回目 0.44 1.22 6.52 8.21 7.61 4.10 ABORT 259.18
3回目 0.45 1.22 6.62 8.03 7.60 5.99 0.34 256.66
4回目 0.45 1.22 6.61 8.03 7.60 4.18 0.33 253.06
5回目 0.45 1.23 6.63 7.82 7.63 7.26 0.34 250.21
平均 0.45 1.22 6.39 8.01 7.37 4.58 0.34 253.46
Requests per second
0357310
2006/06/30(金) 23:20:33ID:???CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 ABORT 1.19 5.39 7.72 6.90 ABORT ABORT 258.46
2回目 ABORT 1.18 6.48 7.93 7.60 2.36 ABORT 258.21
3回目 ABORT 1.19 6.60 8.04 7.61 5.50 ABORT 264.66
4回目 ABORT 1.20 6.55 7.92 7.58 2.72 ABORT 255.30
5回目 ABORT 1.18 6.59 7.89 7.58 3.45 ABORT 263.01
平均 #DIV/0! 1.19 6.32 7.90 7.45 3.51 #DIV/0! 259.93
Requests per second
ab -n 400 -c 40
CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 ABORT 1.17 5.46 7.57 5.11 ABORT ABORT 255.63
2回目 ABORT 1.21 6.39 7.77 7.44 ABORT ABORT 257.08
3回目 ABORT 1.17 6.50 7.79 7.43 ABORT ABORT 258.36
4回目 ABORT 1.17 6.47 7.77 7.45 1.11 ABORT 260.97
5回目 ABORT 1.17 6.53 7.92 7.10 ABORT ABORT 257.69
平均 #DIV/0! 1.18 6.27 7.76 6.91 1.11 #DIV/0! 257.95
0358310
2006/06/30(金) 23:29:44ID:???フライングしました。
後はもう少し待ってください。
0359310
2006/06/30(金) 23:40:39ID:???CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 ABORT 1.16 5.51 7.48 6.14 ABORT ABORT 242.47
2回目 ABORT ABORT 6.33 7.66 7.19 ABORT ABORT 244.29
3回目 ABORT ABORT 6.50 7.71 7.22 ABORT ABORT 249.26
4回目 ABORT ABORT 6.47 7.72 7.10 ABORT ABORT 246.59
5回目 ABORT ABORT 6.45 7.82 7.25 3.05 ABORT 241.51
平均 #DIV/0! 1.16 6.25 7.68 6.98 3.05 #DIV/0! 244.82
Requests per second
ab -n 1500 -c 150
CGI perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry PerlRun html
1回目 ABORT ABORT 5.39 7.49 6.35 ABORT ABORT 235.70
2回目 ABORT ABORT 6.26 7.70 6.89 ABORT ABORT 237.14
3回目 ABORT ABORT 6.46 7.63 6.82 ABORT ABORT 232.74
4回目 ABORT ABORT 6.39 7.66 6.83 ABORT ABORT 225.48
5回目 ABORT ABORT 6.40 7.67 7.11 3.75 ABORT 226.65
平均 #DIV/0! #DIV/0! 6.18 7.63 6.80 3.75 #DIV/0! 231.54
Requests per second
0360nobodyさん
NGNG■ このスレッドは過去ログ倉庫に格納されています