[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 09:19 / Filesize : 249 KB / Number-of Response : 786
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【激速】mod_perl SpeedyCGI FastCGI【激速】



1 名前:nobodyさん [2006/06/05(月) 20:01:09 ID:+YcYjDiD]
mod_perl
perl.apache.org/

SpeedyCGI
perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod

前スレ
mod_perlを使おう!
pc8.2ch.net/test/read.cgi/php/1005122528/

ー二三ヘ( ゚∀゚)ノ

301 名前:nobodyさん mailto:sage [2006/06/27(火) 11:32:54 ID:???]
俺も感謝してるぜ。難癖付けるやつはどこにでもいるだろうから気にしないで欲しい。

302 名前:nobodyさん mailto:sage [2006/06/27(火) 11:34:55 ID:??? BE:72171432-#]
難癖つけてるのは一人。
それもmod_perl厨w

303 名前:nobodyさん mailto:sage [2006/06/27(火) 18:14:29 ID:???]
>>268
perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
のFAQには、

> ・データベースへの接続を持続させたままにするにはどうすればよいですか?
>
> グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は接続を
> グローバル変数に格納し、実行のたびにその変数が既に定義されているかをチェックする
> ことです。

と書いてある。

304 名前:nobodyさん mailto:sage [2006/06/28(水) 01:04:03 ID:???]
> ちなみに、このスレを最初から読めば、267が匿名とは言い難い気がする。

dictionary.goo.ne.jp/search.php?MT=%C6%BF%CC%BE&search_history=&kind=&kwassist=0&mode=0&jn.x=44&jn.y=4

> 自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。

匿名とは何か、定義を教えていただきたい。

305 名前:nobodyさん mailto:sage [2006/06/28(水) 01:51:08 ID:???]
>>304
> 匿名とは何か、定義を教えていただきたい。
自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。


306 名前:nobodyさん mailto:sage [2006/06/28(水) 02:08:26 ID:???]
難癖厨

307 名前:268 mailto:sage [2006/06/28(水) 03:14:36 ID:???]
>>303
アザース

mod_speedycgiもメモリ使用量が肥大しないようなので
今動かしてるシステムをmod_speedycgiに移行させる予定。

mod_speedycgiのレポートはこれからかな?
ググみたけど障害系のレポートが見つからなかったのが不安

308 名前:nobodyさん mailto:sage [2006/06/28(水) 09:43:30 ID:??? BE:247632847-#]
専門系板の名物だな

309 名前:nobodyさん mailto:sage [2006/06/28(水) 18:03:20 ID:???]
>>307
mod_speedycgiが入ってないのは、worker下ではエラーになったからです。
preforkで取るつもりです。

現在は、workerを取り直し中です。



310 名前:274 mailto:sage [2006/06/29(木) 02:24:13 ID:???]
>287氏、>290氏からパラメータの不備を指摘されたので、再測定。
K6-2 475MHz
512MB
Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(workerでコンパイル)+mod_perlソース+SpeedyCGIソース+FastCGIソース

今回のパラメータでの結果は、cが大きい時のレスポンスの落ち込みが少ないが、前回のパラメータと併せて再現性確認。
またPerlRunのスコアがCGIより悪いという?な点もあるが、これも再現性確認しているので公開。
perlcc -Bが2回目にクラッシュするパターンは1回目終了時にCPU全開が続いていることを確認。

以下、結果報告。

311 名前:nobodyさん [2006/06/29(木) 02:28:32 ID:ZFDM74Ge BE:151283-#]
わくわく。

312 名前:274 mailto:sage [2006/06/29(木) 02:34:01 ID:???]
ab -n 10 -c 1                     
      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

313 名前:274 mailto:sage [2006/06/29(木) 02:38:35 ID:???]
ab -n 200 -c 20                     
       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

314 名前:274 mailto:sage [2006/06/29(木) 02:42:52 ID:???]
ab -n 1000 -c 100                     
        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                  

315 名前:274 mailto:sage [2006/06/29(木) 02:45:25 ID:???]
ab -n 2000 -c 200                     
       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 

以上、報告終わり。

316 名前:274 mailto:sage [2006/06/29(木) 02:50:53 ID:???]
報告忘れ。
ソースnicky.cgi改。

317 名前:nobodyさん mailto:sage [2006/06/29(木) 03:09:10 ID:???]
そのスペックでもHTMLってこんなにさばけるんですね
それに感動しちゃった

318 名前:nobodyさん [2006/06/29(木) 03:13:09 ID:ZFDM74Ge BE:151283-#]
RegistryとPerlRunってこんなに違うのかぁ。。   

319 名前:nobodyさん mailto:sage [2006/06/29(木) 07:09:29 ID:???]
ん、PerlRunよりCGIが速いってのは何故だろう。



320 名前:nobodyさん [2006/06/29(木) 09:58:45 ID:npShM0+K]
久々にPerlが活気の良くなりそうなスレですな。

321 名前:nobodyさん mailto:sage [2006/06/29(木) 10:52:53 ID:???]
apache2 workerとmod_perlって合性悪いんじゃなかったっけ?
apache2でやるならmod_perl2と小耳にした。

322 名前:nobodyさん mailto:sage [2006/06/29(木) 10:58:14 ID:???]
>>310,312-316
ご苦労様です。m(__)m
nicky.cgi改ってのは、ほとんど一本物のプログラムですか?
そうだとすれば、PerlRunだと、ほとんどキャッシュされないからCGI並みのスピードに
なるのは理解できますが、ここまで遅くなる理由は何でしょうね。
ほとんどの機能をmodule側に移せば、PerlRunもそれなりに速くなる筈。

SpeedyCGIとFastCGIの速度比は、うちで取ってみたSpeedyCGIとmod_speedycgiの
比とほぼ一緒。多分、FastCGIとmod_speedycgiは、同程度の速度と言う結果になる
のかなと予測しています。

ちなみに、SpeedyCGIのMaxRunsはデフォルトの500でしょうか。
そうだとすると、-n 2000では、途中3回、再execされているんですよね。


323 名前:nobodyさん mailto:sage [2006/06/29(木) 11:14:15 ID:???]
キャッシュには載るんじゃね?

324 名前:nobodyさん mailto:sage [2006/06/29(木) 13:42:36 ID:???]
>>321
>>232の結果と併せて見れば、どう転んでも、同時接続数が少ない時は、
mod_perl(Registry),mod_speedycgi,fastcgiは同じ程度の速度だが、同時
接続数が増えると、mod_perl(Registry)の速度低下が目立つが他は、大き
な影響を受けないという傾向は動かないと思える。

ところで、
pc8.2ch.net/test/read.cgi/php/1141214874/16

にある話は本当?

FastCGIが標準でApacheに搭載される様になれば、FastCGIへの移行を
考えるけど、取りあえずは、環境に応じて、mod_speedycgiとspeedyCGIを
使い分けるのが現実的な選択の様ね。


325 名前:274 mailto:sage [2006/06/29(木) 14:17:43 ID:???]
>>322
> 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等)

326 名前:nobodyさん mailto:sage [2006/06/29(木) 14:25:15 ID:???]
FastCGIってuse strictにしなくちゃいけなかったりするんですか?

327 名前:274 mailto:sage [2006/06/29(木) 14:26:35 ID:???]
>>321
> 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です。

328 名前:274 mailto:sage [2006/06/29(木) 14:28:01 ID:???]
>>326
そんなことはないです。
use strictにした方が間違いを防げるというだけです。

329 名前:nobodyさん mailto:sage [2006/06/29(木) 14:55:42 ID:???]
> ただ言えることは、nicky.cgi改が一本物でサイズ約160KB、CPUが非力という条件のため、

なにその巨大なウンコ。



330 名前:nobodyさん mailto:sage [2006/06/29(木) 15:00:14 ID:??? BE:238789139-#]
apache1.3(win32)にmod_fastcgi組み込んだら
スクリプトにアクセスした瞬間数十MBのerrorlog吐いてプロセスが暴走した
なんで

331 名前:nobodyさん mailto:sage [2006/06/29(木) 15:00:33 ID:???]
ゴミを使ってオナニーベンチをするスレはここですか?

332 名前:nobodyさん mailto:sage [2006/06/29(木) 15:11:40 ID:???]
>>330
perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Fast.pod
1.まずはここのサンプルCGIがFastCGIで動くようする。(手順通りにインスコすれば動くはず)
2.自分のスクリプトを動かす。
このような手順でやらないと何が間違いかエラーログだけではわからないと思う。

333 名前:nobodyさん mailto:sage [2006/06/29(木) 15:15:19 ID:??? BE:353760858-#]
use CGI::Fastとかを加えないと動きもしないの?

334 名前:nobodyさん mailto:sage [2006/06/29(木) 15:20:52 ID:???]
>>333
FastCGIの場合、CGI::FastまたはFCGIの無限ループを実行させるので、
use CGI::Fast;

use FCGI;
は必須です。

335 名前:nobodyさん mailto:sage [2006/06/29(木) 15:32:42 ID:???]
>>333
FastCGIはいい情報あまりありませんが、
CGI::Fastなら
perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Fast.pod

www.drk7.jp/MT/archives/000917.html
の下の方にあるFastCGI サンプル CGI のソースが参考になると思います。

FCGIなら本家の
www.fastcgi.com/devkit/doc/fastcgi-prog-guide/ch3perl.htm#5002
(特にサンプルプログラム)
ここが参考になると思います。

手取り足取りのようなマニュアルはおそらく無いと思います。


336 名前:nobodyさん mailto:sage [2006/06/29(木) 15:33:54 ID:??? BE:238787993-#]
>>334-335
すみません迷惑かけて
本当にありがとうございます
大変参考になります

337 名前:335 mailto:sage [2006/06/29(木) 15:50:27 ID:???]
www.drk7.jp/MT/archives/000917.html
ここには短いソースで取ったFastCGI VS mod_perl のベンチが最後の方に載っています。
(ab -n 100 -c 10)
結果はやはり小差でFastCGIの勝ちです。

338 名前:nobodyさん mailto:sage [2006/06/29(木) 16:33:16 ID:???]
>>337
この比較は、

lighttpd + FastCGI vs mod_perl + Apache1.3

で、httpd自体が違うんで、単純なmod_perl対FastCGIでは無いんです。

ただ、この lighttpd + FastCGI という組み合わせも面白そうですよね。
これなら、dagでrpmから入れられるし。

339 名前:335 mailto:sage [2006/06/29(木) 17:01:24 ID:???]
>>338
確かにその通りのようですね。
しかし、この結果を見るとlighttpd + FastCGIはApache + FastCGIより速いのかな?
と思います。
単体で圧勝するのは周知の事実のようですが。



340 名前:nobodyさん mailto:sage [2006/06/29(木) 18:24:12 ID:???]
>>339
> しかし、この結果を見ると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 の勝ち
かなという気もしています。
まあ、差が出たとしても、意味のある差は出ない様に思いますが。

341 名前:nobodyさん mailto:sage [2006/06/29(木) 21:19:22 ID:???]
> まあ、差が出たとしても、意味のある差は出ない様に思いますが。

ということで、速度に関して議論することは不毛であるという結論になりました。


342 名前:nobodyさん mailto:sage [2006/06/29(木) 21:33:27 ID:???]
って、またPerl VS Javaみたいなことやるの?

343 名前:nobodyさん mailto:sage [2006/06/29(木) 21:50:21 ID:???]
Java なんか使うやつはばかです。

344 名前:nobodyさん mailto:sage [2006/06/29(木) 21:57:00 ID:???]
おいおい、始まったよ。

345 名前:nobodyさん mailto:sage [2006/06/29(木) 21:59:44 ID:???]
Perlは過去の遺物です。

346 名前:nobodyさん mailto:sage [2006/06/30(金) 00:30:58 ID:???]
>>345
その言葉は廃れつつあります。
むしろPHPが過去の遺物になりつつあります。

347 名前:nobodyさん mailto:sage [2006/06/30(金) 00:40:29 ID:???]
>>346
その変わりに、純国産言語Rubyがあちらで盛り上がって逆輸入されている模様。
RubyのFastCGI対応は容易だそうです。

348 名前:nobodyさん mailto:sage [2006/06/30(金) 06:48:26 ID:???]
>>345
> Perlは過去の遺物です。
君の理論で行くとJavaScriptも過去の遺物なのかな?(笑)

349 名前:nobodyさん mailto:sage [2006/06/30(金) 09:22:45 ID:??? BE:141503982-#]
専門板の人って煽り耐性ないね



350 名前:nobodyさん mailto:sage [2006/06/30(金) 13:09:19 ID:???]
>>349
基本的に技術者志向の人はまじめだからね。

351 名前:nobodyさん mailto:sage [2006/06/30(金) 19:15:37 ID:???]
構ったところで知識が頭から抜け落ちるわけでも無し

352 名前:nobodyさん mailto:sage [2006/06/30(金) 21:21:51 ID:???]
それは無いものは抜け落ちないよな。

353 名前:nobodyさん mailto:sage [2006/06/30(金) 22:24:25 ID:???]
ひょっとして漏れの髪の毛のこと?

354 名前:353 mailto:sage [2006/06/30(金) 22:30:18 ID:???]
>>352
本当にどうも有難うございます。

355 名前:310 mailto:sage [2006/06/30(金) 23:06:24 ID:???]
K6-2 475MHz
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を再起動。

以下、結果報告。

356 名前:310 mailto:sage [2006/06/30(金) 23:10:19 ID:???]
ab -n 10 -c 1                        
      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 

357 名前:310 mailto:sage [2006/06/30(金) 23:20:33 ID:???]
ab -n 200 -c 20                        
      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

358 名前:310 mailto:sage [2006/06/30(金) 23:29:44 ID:???]
すいません。
フライングしました。
後はもう少し待ってください。

359 名前:310 mailto:sage [2006/06/30(金) 23:40:39 ID:???]
ab -n 1000 -c 100                        
      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                     




360 名前:nobodyさん mailto:sage [2006/06/30(金) 23:53:02 ID:??? BE:53064432-#]
mod_speedycgi ハヤスギ ワロタ

361 名前:310 mailto:sage [2006/07/01(土) 00:14:11 ID:???]
ab -n 2000 -c 200                        
       CGI   perlcc -B   SpeedyCGI mod_speedycgi fastcgi   Registry   PerlRun   html
1回目   ABORT   1.17      ABORT   7.56       6.44    ABORT   ABORT   228.41
2回目   ABORT   ABORT   6.25      7.79       6.96    ABORT   ABORT   230.36
3回目   ABORT   ABORT   6.36      7.77       6.73    ABORT   ABORT   225.48
4回目   ABORT   ABORT   6.38      7.74       6.93    ABORT   ABORT   234.54
5回目   ABORT   ABORT   6.30      7.63       6.98    6.48      ABORT   233.99
平均    #DIV/0!   1.17      6.32      7.70       6.81    6.48      #DIV/0!   230.56
   Requests per second  

以上、報告終わり。

362 名前:nobodyさん mailto:sage [2006/07/01(土) 03:18:50 ID:???]
>>310
ご苦労様でした。

www.drk7.jp/MT/archives/000863.html

あたりを見て、SpeedyCGIより、FastCGIの方が速いのかと思っていたんですが、
mod_speedycgiを入れると、

mod_speedycgi > FastCGI > SpeedyCGI

という順番の様ですね。

perlだけ使うんであれば、導入の手間、速度の両面で、FastCGIを使うメリットは
無いのかな。

363 名前:nobodyさん mailto:sage [2006/07/01(土) 04:59:21 ID:???]
無いと思いますけどね。

364 名前:nobodyさん mailto:sage [2006/07/01(土) 10:53:26 ID:???]
こうなると、lighttpd+SpeedyCGIが気になって仕方ない。
lighttpd用のmod_s;peedycgiみたいなのは無いよね?

365 名前:nobodyさん mailto:sage [2006/07/01(土) 11:12:27 ID:???]
lighttpdは確かに速いようですが、ボトルネックはCGIにあるのでlighttpdでスピードが上がる要素はほとんど無いと思う。

366 名前:nobodyさん mailto:sage [2006/07/01(土) 12:00:43 ID:???]
K6-2 475MHz
512MB
Vine3.2最小インストール+コンパイル環境
+Apache2.0.58ソース(preforkでコンパイル)+mod_perl-2.0.2ソース+PersistentPerl-2.22ソース+fcgi-2.4.0ソース+mod_fastcgi-2.4.2ソース

1パラメータセット終わる度に、
SpeedyCGI、mod_speedycgiはテストソースをtouch、
fastcgi、Registry、PerlRunはhttpdを再起動してキャッシュをリセット。

テストソース hello world

ごく小さなソースでのベンチも必要だと感じたので測定。
workerはとるつもりはありません。
その暇があれば、lighttpdを測定する方が有益と思います。

Cのcgiと以前話が出た、fastcgi c VS fastcgi perl を入れました。

またこのソースではRegistry、PerlRunのswapは発生せず。


367 名前:355 mailto:sage [2006/07/01(土) 12:03:41 ID:???]
ソース

hello.html
<HTML>
Hello, world!
</HTML>

hello.pl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "Hello, world!\n";
print "</HTML>";

hello.c
#include <stdio.h>
void main(void)
{
printf("Content-type: text/html\n\n");
printf("<HTML>\n");
printf("Hello, world!\n");
printf("</HTML>");
}

368 名前:355 mailto:sage [2006/07/01(土) 12:05:28 ID:???]
fast_hello.pl
#!/usr/bin/perl
use FCGI;
while (FCGI::accept >= 0)
{
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "Hello, world!\n";
print "</HTML>";
}

fast_hello.c
#include "fcgi_stdio.h"
#include <stdio.h>
void main(void)
{
while (FCGI_Accept() >= 0)
{
printf("Content-type: text/html\n\n");
printf("<HTML>\n");
printf("Hello, world!\n");
printf("</HTML>");
}
}

369 名前:355 mailto:sage [2006/07/01(土) 12:07:54 ID:???]
以下、結果報告。



370 名前:355 mailto:sage [2006/07/01(土) 12:14:24 ID:???]
ab -n 10 -c 1                                        
      CGI c    CGI perl  perlcc -B  SpeedyCGI mod_speedycgi  fastcgi c   fastcgi perl  Registry   PerlRun    html
1回目    80.62     26.17     13.50     20.71     16.41      16.34      9.77      1.65      2.41      270.10
2回目    81.39     26.74     13.84     35.79     123.85     185.42     121.37     94.43     54.39     277.01
3回目    82.48     26.91     13.86     36.50     123.57     178.26     121.73     95.35     12.15     268.12
4回目    81.96     27.03     13.90     36.66     123.49     182.54     122.29     96.74     57.00     267.32
5回目    81.82     26.66     13.87     36.59     109.58     181.85     122.36     97.30     57.03     272.57
平均     81.65     26.70     13.79     33.25     99.38      148.88     99.50     77.09     36.60     271.02
    Requests per second                                    


371 名前:355 mailto:sage [2006/07/01(土) 12:15:04 ID:???]
ab -n 100 -c 10                                        
      CGI c    CGI perl  perlcc -B  SpeedyCGI  mod_speedycgi  fastcgi c  fastcgi perl  Registry   PerlRun    html
1回目    80.35     24.59     12.53     32.28     112.21     181.51     79.98      7.38     7.14     287.30
2回目    76.72     24.56     12.80     34.48     121.06     182.21     121.81     74.02     44.14     278.04
3回目    79.79     24.38     12.74     33.25     119.92     181.57     120.37     85.51     42.99     280.69
4回目    76.24     24.42     13.22     33.15     122.28     179.48     121.18     85.56     30.75     287.75
5回目    76.19     24.48     12.75     33.24     116.35     182.61     118.93     87.59     48.18     288.21
平均     77.86     24.49     12.81     33.28     118.36     181.48     112.45     68.01     34.64     284.40
    Requests per second                                    


372 名前:355 mailto:sage [2006/07/01(土) 12:17:41 ID:???]
ab -n 100 -c 10                                        
      CGI c    CGI perl  perlcc -B  SpeedyCGI mod_speedycgi  fastcgi c  fastcgi perl  Registry   PerlRun    html
1回目    80.35     24.59     12.53     32.28     112.21     181.51     79.98      7.38     7.14      287.30
2回目    76.72     24.56     12.80     34.48     121.06     182.21     121.81     74.02     44.14     278.04
3回目    79.79     24.38     12.74     33.25     119.92     181.57     120.37     85.51     42.99     280.69
4回目    76.24     24.42     13.22     33.15     122.28     179.48     121.18     85.56     30.75     287.75
5回目    76.19     24.48     12.75     33.24     116.35     182.61     118.93     87.59     48.18     288.21
平均     77.86     24.49     12.81     33.28     118.36     181.48     112.45     68.01     34.64     284.40
    Requests per second                                    


373 名前:355 mailto:sage [2006/07/01(土) 12:18:55 ID:???]
すいません。
>371と>372は同じものです。

374 名前:355 mailto:sage [2006/07/01(土) 12:31:33 ID:???]
ab -n 200 -c 20                                        
      CGI c    CGI perl   perlcc -B SpeedyCGI mod_speedycgi  fastcgi c  fastcgi perl  Registry    PerlRun    html
1回目    78.10     24.62     12.69     31.51     114.04     184.03     95.03      10.00     8.64      292.87
2回目    81.17     24.66     12.73     33.03     119.16     185.93     118.80     90.98     55.16     293.11
3回目    77.62     24.74     13.25     32.99     114.92     192.23     119.23     79.47     44.99     280.26
4回目    78.70     24.81     12.88     32.10     118.08     188.86     119.64     77.49     48.46     286.11
5回目    79.50     24.73     12.98     33.11     115.42     182.41     117.86     62.33     46.55     284.11
平均     79.02     24.71     12.91     32.55     116.32     186.69     114.11     64.05     40.76     287.29
    Requests per second  

375 名前:355 mailto:sage [2006/07/01(土) 12:33:33 ID:???]
ab -n 400 -c 40                                        
       CGI c    CGI perl  perlcc -B SpeedyCGI mod_speedycgi fastcgi c  fastcgi perl  Registry   PerlRun    html
1回目    80.57     24.42     12.50     31.78     110.56     176.86     100.96     16.91     12.96     293.94
2回目    80.33     24.47     12.56     33.84     118.34     180.34     113.21     21.93     23.52     287.48
3回目    78.31     25.03     12.71     32.34     116.58     183.24     110.40     81.42     55.92     300.39
4回目    79.41     25.16     12.49     33.90     124.34     183.00     106.40     75.04     56.51     293.20
5回目    77.44     24.50     12.55     32.24     120.68     183.12     109.45     81.47     46.63     300.58
平均     79.21     24.72     12.56     32.82     118.10     181.31     108.08     55.35     39.11     295.12
    Requests per second  

376 名前:355 mailto:sage [2006/07/01(土) 12:38:01 ID:???]
ab -n 1000 -c 100                                        
       CGI c    CGI perl perlcc -B SpeedyCGI mod_speedycgi  fastcgi c fastcgi perl  Registry    PerlRun    html
1回目    78.12     24.91     12.97     30.99     91.33      174.89     92.12      20.86     16.17     287.40
2回目    80.17     25.31     12.80     32.12     109.90     174.87     94.91      25.45     18.14     281.79
3回目    78.44     24.65     12.57     32.41     112.69     170.94     101.65     46.86     54.87     274.96
4回目    78.01     23.84     12.96     32.05     113.81     166.39     102.72     95.56     46.12     283.29
5回目    78.69     24.87     12.52     32.35     113.24     166.31     101.21     74.98     34.28     283.35
平均     78.69     24.72     12.76     31.98     108.19     170.68     98.52      52.74     33.92     282.16
    Requests per second


377 名前:355 mailto:sage [2006/07/01(土) 12:40:23 ID:???]
ab -n 1500 -c 150                                        
       CGI c    CGI perl  perlcc -B SpeedyCGI mod_speedycgi fastcgi c fastcgi perl  Registry   PerlRun    html
1回目    76.39     24.19     12.50     31.27     99.27      172.32     88.22     18.96     17.69     275.84
2回目    72.94     24.22     12.56     31.99     112.01     166.82     96.86     27.05     21.28     277.10
3回目    73.62     24.78     12.62     32.71     114.98     163.69     97.89     71.29     40.18     273.88
4回目    73.88     23.90     12.61     32.49     112.21     164.86     98.73     75.77     21.71     256.73
5回目    74.24     24.13     12.69     33.07     114.19     167.17     98.56     75.81     40.84     255.67
平均     74.21     24.24     12.60     32.31     110.53     166.97     96.05     53.78     28.34     267.84
    Requests per second


378 名前:355 mailto:sage [2006/07/01(土) 12:42:34 ID:???]
ab -n 2000 -c 200                                        
       CGI c    CGI perl  perlcc -B SpeedyCGI mod_speedycgi fastcgi c fastcgi perl  Registry    PerlRun    html
1回目    75.00     24.42     12.59     31.47     109.51     170.30     87.57     21.46     17.50     250.27
2回目    75.09     24.05     12.51     31.69     116.31     169.27     91.84     37.49     32.77     261.21
3回目    73.87     24.67     12.60     32.76     113.69     164.81     92.60     74.82     46.47     260.43
4回目    73.51     24.43     12.59     32.68     113.51     170.00     92.98     74.82     45.72     260.72
5回目    73.26     24.08     12.88     32.72     112.25     165.43     93.40     71.43     43.67     261.65
平均     74.15     24.33     12.63     32.26     113.05     167.96     91.68     56.00     37.23     258.86
    Requests per second                                    


379 名前:355 mailto:sage [2006/07/01(土) 12:43:06 ID:???]
以上、報告終わり。



380 名前:nobodyさん mailto:sage [2006/07/01(土) 12:44:06 ID:???]
平均は真ん中3つも出してくれよ。

381 名前:355 mailto:sage [2006/07/01(土) 12:56:02 ID:???]
>>380
了解
今から出します。

382 名前:355 mailto:sage [2006/07/01(土) 13:07:11 ID:???]
MAX、MINを除外した平均値                                        
           CGI c    CGI perl   perlcc -B  SpeedyCGI mod_speedycgi fastcgi c  fastcgi perl  Registry  PerlRun    html
ab -n 10 -c 1      81.72     26.77     13.86     36.29     118.88     180.88     121.80     95.51     41.18     270.26
ab -n 100 -c 10    77.58     24.49     12.76     33.21     119.11     181.76     120.16     81.70     39.29     285.25
ab -n 200 -c 20    78.77     24.71     12.86     32.71     116.14     186.27     118.63     73.10     46.67     287.70
ab -n 400 -c 40    79.35     24.67     12.54     32.81     118.53     182.15     108.75     59.46     42.02     295.84
ab -n 1000 -c 100   78.42     24.81     12.78     32.17     111.94     170.73     99.26      49.10     32.85     282.81
ab -n 1500 -c 150   73.91     24.18     12.60     32.40     112.80     166.28     97.77      58.04     27.72     268.82
ab -n 2000 -c 200   74.13     24.31     12.59     32.36     113.15     168.23     92.47      61.25     40.72     260.79
    Requests per second 

383 名前:nobodyさん mailto:sage [2006/07/01(土) 13:13:38 ID:???]
うわ、ありがとうございます。
やっぱり不安定なやつの救済にはならなかったかorz

384 名前:355 mailto:sage [2006/07/01(土) 13:29:33 ID:???]
MAX、MINを除外した平均値(データ数2以下の場合通常の平均)
prefork                                
nicky.cgi改                                
                                
               CGI    perlcc -B  SpeedyCGI mod_speedycgi fastcgi Registry    PerlRun    html
ab -n 10 -c 1      0.45       1.24       7.03     8.39       7.61     8.08     0.36     239.77
ab -n 100 -c 10      0.45       1.22       6.58     8.00       7.60     4.76     0.23     253.31
ab -n 200 -c 20     abort all    1.19       6.54     7.91       7.59     2.06     abort all  259.89
ab -n 400 -c 40     abort all    1.17       6.45     7.78       7.32     1.11     abort all  257.71
ab -n 1000 -c 100    abort all    1.16       6.42     7.70       7.17     3.05     abort all  244.45
ab -n 1500 -c 150    abort all    abort all    6.35     7.65       6.85     3.75     abort all  231.70
ab -n 2000 -c 200    abort all    1.17       4.22     7.71       6.87     6.48     abort all  230.92
    Requests per second

385 名前:355 mailto:sage [2006/07/01(土) 13:38:10 ID:???]
MAX、MINを除外した平均値(データ数2以下の場合通常の平均)                            
worker                            
nicky.cgi改                            
               CGI    perlcc -B  SpeedyCGI fastcgi  Registry  PerlRun      html
ab -n 10 -c 1       0.45       1.24     6.91     7.50     7.88     0.34        221.72
ab -n 100 -c 10     0.45       1.21     6.44     7.49     4.14     0.33        242.03
ab -n 200 -c 20     abort all    1.19     6.37     7.37     3.69     0.22        239.23
ab -n 400 -c 40     abort all    1.17     6.36     7.24     1.39     0.12        233.45
ab -n 1000 -c 100    abort all    1.17     6.50     7.08     3.16     abort all    214.85
ab -n 1500 -c 150    abort all    1.18     6.50     6.75     3.70     abort all    217.76
ab -n 2000 -c 200    abort all    1.19     6.29     6.89     3.85     abort all    219.70
    Requests per second   

386 名前:nobodyさん mailto:sage [2006/07/01(土) 13:40:29 ID:???]
>>335
またまた、ご苦労様です。
これだけあると、見るのも大変だけど、作る方は、もっと大変なんでしょうね。(^^;

これを見ると、mod_perl,fastcgiは、同時接続数が増えた際のレスポンスの落ち込みが
他と比べて大きいですね。
fastcgiでは、大きなソースだと、その差が見えずらくなりますが。

この中では、fastcgi cが一番速いですが、cで書くんだったら、fastcgiを使わずに
module作った方が良いかなと言う気もします。

開発・導入コスト、スピード、メンテナンス性を考えると、Apache API 使いたいとか
言うのでなければ、mod_speedycgiって、とても良い選択肢ですね。


387 名前:nobodyさん [2006/07/01(土) 13:57:12 ID:HcFO9A5X BE:309277-#]
よくわかってないのですが、
mod_speedycgiとspeedy(perperl)って何が違うんですか?


388 名前:355 mailto:sage [2006/07/01(土) 14:00:16 ID:???]
>>386
mod_speedycgiは1つだけ欠点が。
worker環境では動きませんでした。
運用可能なのは、Apache1(確認)とApache2のprefork(確認)のみと思われます。

389 名前:nobodyさん mailto:sage [2006/07/01(土) 14:12:54 ID:???]
>>387
SpeedyCGIは
httpd→SpeedyCGIフロントエンド起動→SpeedyCGIバックエンド呼び出し
こういう感じになります。
mod_speedycgiはSpeedyCGIフロントエンドがアパッチプロセスに埋め込まれて常駐します。
httpd内でSpeedyCGIフロントエンド呼び出し→SpeedyCGIバックエンド呼び出し
こういう感じかな。

小さいソースでSpeedyCGIが伸びないところをみると、SpeedyCGIフロントエンド起動はコストが高いのかも(インタープリタ起動のコストの2/3ぐらい?)。



390 名前:nobodyさん mailto:sage [2006/07/01(土) 20:49:09 ID:???]
パフォーマンス悪かろうが何だろうが、それでも mod_perl を使うけどな(´Д`)

391 名前:nobodyさん mailto:sage [2006/07/01(土) 21:20:12 ID:???]
mod_perlはApache Software Foundationのお膝元ってのが大きい。

392 名前:nobodyさん mailto:sage [2006/07/01(土) 21:28:46 ID:???]
>>390
それはそれで個人の自由だからいいんでない。

393 名前:nobodyさん mailto:sage [2006/07/01(土) 21:47:44 ID:???]
>>389
Hello Worldで、SpeedyCGIが伸びないのは、mod_cgi経由だからかなという気がしています。
perlを使うと言う前提で考えれば、通常のcgiと比較して、何が省略できて、逆に何が余分に
掛かるのかと言う話なんですよね、多分。
mod_cgiを通すから、コストが掛かるのか、純粋にspeedyの起動に時間が掛かるのかは分か
らないのですが。

mod_perlが同時接続数が増えると成績悪くなるのは、余分に掛かるものが、無視できなくなっ
たためなのかな。

ちなみに、両方のテストと共、PerlRunには酷なテストでしたね。
大元のスクリプトのは毎回呼び出すけど、useしたものはメモリーに置くという方式なので、
速度的にメリットを出せる部分が全然使われてません。
意味がなくても、use CGI;use DBI;use Templateあたりを追加したHelloWorldなソースで比
べると、CGIよりも良い成績が出るのではないかと思っています。
大きなソースの場合、アプリの機能を、ほとんどモジュール側に持って行けば、それなりに
速くなる筈です。殆どの機能をモジュール側に持って行ったら、PerlRun使わずに、Registry
使えよという話になるんですが。

まあ、このPerlRunとCGIの差が、mod_perlを使った際に、余分に掛かる物の量なんでしょうね。


394 名前:355 mailto:sage [2006/07/01(土) 22:37:21 ID:???]
>>393
> 意味がなくても、use CGI;use DBI;use Templateあたりを追加したHelloWorldなソースで比
> べると、CGIよりも良い成績が出るのではないかと思っています。

useしたものはメモリーに置くということは知りませんでした。
基本的にできるだけ同じ条件で取る方向で測定したので、知っていても同じ条件で取ったと思います。
インタープリタをプロセス内にあることのアドバンテージは起動コストの高い>382で出ていると思います。(hello world)


395 名前:355 mailto:sage [2006/07/01(土) 22:40:01 ID:???]
×インタープリタを
○インタープリタが

396 名前:nobodyさん mailto:sage [2006/07/01(土) 23:38:12 ID:???]
mod_perlではスワップ発生してたりしないかな?

397 名前:393 mailto:sage [2006/07/02(日) 00:05:08 ID:???]
>>394
> useしたものはメモリーに置くということは知りませんでした。

出鱈目な事を言っているといけないので、資料を当たってみました。
下記の "Apache::PerlRun--a closer look" が参考になると思います。

perl.apache.org/docs/1.0/guide/porting.html#Apache__PerlRun__a_closer_look

という事で、スクリプトの書き方によって、PerlRunもRegistryに近い速度を出せるそうです。
まあ、ベンチを取る時に、全体のコード量と、useする比率をどの程度にするのが妥当かと
いうのは、非常に難しい問題なのですが。

398 名前:355 mailto:sage [2006/07/02(日) 00:14:54 ID:???]
>>396
>mod_perlではスワップ発生してたりしないかな?

一応ベンチ取ったときに書き込みましたが、長すぎて読みにくかったかな。
>384の場合のみ発生しています。
Registryは-c 40からPerlRunは-c 100からです。

399 名前:355 mailto:sage [2006/07/02(日) 01:06:21 ID:???]
すいません。
一部訂正。

エクセルを使ったMAX、MINを除外した平均値の算出に誤り。
=IF(COUNT(B3:B7)>2,(SUM(B3:B7)-MAX(B3:B7)-MIN(B3:B7))/3,AVERAGE(B3:B7))
データが4点の場合2で割らないといけませんが、3の決めうちで割ってしまっています。

=IF(COUNT(B3:B7)>2,(SUM(B3:B7)-MAX(B3:B7)-MIN(B3:B7))/(COUNT(B3:B7)-2),AVERAGE(B3:B7))
でデータ数-2で割るように修正したデータを載せます。

>382、>384、>385のうち>382だけはこの影響は受けません。
ABORTがないため3の決めうちで問題ないからです。

不注意申し訳ないです。



400 名前:355 mailto:sage [2006/07/02(日) 01:18:46 ID:???]
MAX、MINを除外した平均値                                
prefork                                
nicky.cgi改                                
              CGI    perlcc -B SpeedyCGI mod_speedycgi fastcgi Registry  PerlRun  html
ab -n 10 -c 1      0.45       1.24     7.03     8.39     7.61     8.08     0.36     239.77
ab -n 100 -c 10    0.45       1.22     6.58     8.00     7.60     4.76     0.34     253.31
ab -n 200 -c 20    abort all    1.19     6.54     7.91     7.59     3.09     abort all  259.89
ab -n 400 -c 40    abort all    1.17     6.45     7.78     7.32     1.11     abort all  257.71
ab -n 1000 -c 100   abort all    1.16     6.42     7.70     7.17     3.05     abort all  244.45
ab -n 1500 -c 150   abort all    abort all  6.35     7.65     6.85     3.75     abort all  231.70
ab -n 2000 -c 200   abort all    1.17     6.33     7.71     6.87     6.48     abort all  230.92
    Requests per second  






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef