- 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/ ー二三ヘ( ゚∀゚)ノ
- 222 名前:nobodyさん mailto:sage [2006/06/17(土) 11:17:34 ID:???]
- >>219
自分でも信じられなかったので、2台のマシン(Opteron ?GHz CentOS4.3とPen2 200MHz RH9) で試したけど、同じような傾向が出た。 ザウルスのサイトも見ているんだけど、本当にmod_speedycgiで動かしているのかなという 気がしている。お恥ずかしながら、私も最初、大差無しの結果を出していたが、原因は、 LoadModuleをしただけで、cgi-binの下でcgiとして動かしてしまっていた事。マニュアルにある 様に、ディレクトリ切って、SetHandlerしたら、桁が上がった。 #!/usr/bin/speedy use CGI; use DBI; print << "EOT"; Conent-Type: text/html <html> <head> <title>test speedy</title> </head> <body> Hello World </body> </html> EOT を、遅いマシンの方で、ab -n 10 localhost/speedy/test3.scgi みたいな事を今やったら、 CGI 1726.281 [ms] SpeedyCGI(CGI版): 44.240 [ms] mod_speedycgi: 10.990 [ms] てな感じになりました。(Time per requestの値)
- 223 名前:nobodyさん mailto:sage [2006/06/17(土) 11:19:33 ID:??? BE:106128926-#]
- shebangをspeedyに変えても
ApacheでSuExecは有効になるんですかね?
- 224 名前:nobodyさん mailto:sage [2006/06/17(土) 11:24:38 ID:???]
- >>223
実際にはやってないのですまそ。 SpeedyCGIはSuExecはOKだったはず。
- 225 名前:221 mailto:sage [2006/06/17(土) 11:29:26 ID:???]
- ソースは
rintaro.dip.jp/program/nicky/index.html ここを参考に作ったSpeedyCGI版nicky.cgi ベンチ ab -n 100 -c 10 CGI SpeedyCGI mod_speedycgi mod_perl 1回目 0.54 6.12 74.24 6.93 2回目 0.54 6.38 74.24 7.16 3回目 0.54 6.41 72.25 7.09 4回目 0.53 6.41 73.86 7.15 5回目 0.54 6.45 74.46 7.19 平均 0.538 6.354 73.81 7.104 あり得ない... 速い... アパッチモジュール版SpeedyCGI最強。 >218は発見者 誰もmod_speedycgiは無視してたからな。
- 226 名前:nobodyさん mailto:sage [2006/06/17(土) 11:39:03 ID:???]
- >>221
上記のスクリプトから、use CGI; use DBI;を抜くと、 CGI: 49.640 [ms] SpeedyCGI(CGI版): 43.361 [ms] mod_speedycgi: 10.968 [ms] という結果。 スクリプトの中身がほとんど無い状態だと、スピードに差が出なかった。 意味のあるスクリプトは、当然、ぐっと長くなるので、SpeedyCGI(CGI版)でも、劇的に 速くなったと感じられる筈。use CGI; use DBI;しただけで、150倍以上の差が出るので、 3桁の差が出る事も十分あり得そう。(普通のCGIが遅すぎるんだけど) ちなみに、SpeedyCGIについては、2回立て続けにabし、2回目の結果を書いてます。 自分でも、速くなっている様だけど、???な所がある結果なので、追試して貰えれば、 何よりです。
- 227 名前:nobodyさん mailto:sage [2006/06/17(土) 11:47:46 ID:??? BE:433356577-#]
- おぉ凄い
- 228 名前:225 mailto:sage [2006/06/17(土) 11:49:50 ID:???]
- >>226
確かに信じがたいよね。 検証します。
- 229 名前:218,222,226 mailto:sage [2006/06/17(土) 11:59:40 ID:???]
- >>225
追試ありがとうございます。しかも、mod_perl付き。(^^) それにしても、mod_speedycgi速いですね。 > 誰もmod_speedycgiは無視してたからな。 私は、一昨日あたりから真面目に調べ出したんで詳しくないんだけど、何でmod_speedycgi は無視されてたんでしょうか? あと、FastCGIは、speedyCGIよりも速度的に有利みたいな記述を見かけるけど、比較対象は speedyCGI(CGI版)なんでしょうか? これなら、Catalystを試してみても良いかなという気がして来た。
- 230 名前:nobodyさん mailto:sage [2006/06/17(土) 12:47:40 ID:???]
- とりあえず。
FastCGI:CGI一般 mod_perl, speedyCGI:perl用 って考えでok?
- 231 名前:nobodyさん mailto:sage [2006/06/17(土) 13:09:03 ID:???]
- > >218は発見者
> 誰もmod_speedycgiは無視してたからな。 アメリカ大陸を発見したような話か?
- 232 名前:225 mailto:sage [2006/06/17(土) 13:40:36 ID:???]
- 追試結果。
ぬかよろこびさせてすまそ。 >225の異常な高スコアはただのファイルとしてアクセスされていたためです。 修正後のベンチです。 CGI SpeedyCGI mod_speedycgi mod_perl 1回目 0.45 5.89 7.36 6.35 2回目 0.45 6.06 7.36 6.34 3回目 0.44 6.05 7.37 6.38 4回目 0.45 6.03 7.18 6.4 5回目 0.44 5.92 7.39 6.12 平均 0.446 5.99 7.332 6.318 (Requests per second) お騒がせして申し訳ない。
- 233 名前:nobodyさん mailto:sage [2006/06/17(土) 13:44:59 ID:??? BE:397980195-#]
- SpeedyCGI単体でも十分速いな
- 234 名前:nobodyさん mailto:sage [2006/06/17(土) 13:52:48 ID:???]
- print するだけって、とても無意味なベンチですね。
- 235 名前:nobodyさん mailto:sage [2006/06/17(土) 13:57:30 ID:???]
- 完璧なベンチ希望。
- 236 名前:225 mailto:sage [2006/06/17(土) 13:59:41 ID:???]
- 俺は貴重な時間を割いたので、これ以上はゴメンです。
完璧ではないのは確かですが。 完璧なベンチは難しい。
- 237 名前:nobodyさん mailto:sage [2006/06/17(土) 14:00:00 ID:???]
- まずは「完璧なベンチ」の要件から定義していかないとね。
- 238 名前:218 mailto:sage [2006/06/17(土) 14:31:37 ID:???]
- >>232
お騒がせしました。 そうすると、mod_speedycgiは確かに速いけど、実際のアプリではファイルやDBへの アクセスがあるから、speedyCGI(CGI版)との速度差はほとんど無くなると言う事の様 ですね。(ほとんどがオンメモリーで済む処理だと差が出るけど) ちなみに、テストに使った Hello world をhtmlにして同じサーバに入れてベンチ取った 所、4.298 [ms]でした。 mod_speedycgiは、10.968 [ms] だったので、この2.5倍程度しか掛かっていない、という 事は、ぼちぼち限界。 アクセラレータとして、mod_perl,FastCGI,SpeedyCGIの比較で、>>52 の 「スピードはどれも意味のある差はない。」 は、正論だったんだなと再認識しました。
- 239 名前:nobodyさん mailto:sage [2006/06/17(土) 14:32:11 ID:???]
- じゃあ、無意味じゃないベンチでいいよ。
- 240 名前:nobodyさん mailto:sage [2006/06/17(土) 14:37:42 ID:???]
- >>239
例えばどんな条件?
- 241 名前:nobodyさん mailto:sage [2006/06/17(土) 15:20:32 ID:???]
- >>225
そのmod_perlはまさかpreforkじゃあるめぇな?是非workerでのベンチも宜しく。
- 242 名前:225 mailto:sage [2006/06/17(土) 15:37:55 ID:???]
- >>241
> そのmod_perlはまさかpreforkじゃあるめぇな?是非workerでのベンチも宜しく。 まさかのpreforkだよ。 Apache1.3.33なのでworkerは使えないはず。 ボランティアではないから、Apache2インスコは勘弁してくれ。
- 243 名前:225 mailto:sage [2006/06/17(土) 15:40:36 ID:???]
- まあ、時間ができた時にやってもいいな。
今日はもう時間がない。 無期限でというならやってもいいよ。
- 244 名前:nobodyさん mailto:sage [2006/06/17(土) 16:48:09 ID:???]
- ほら、やっぱり飽和させないと>ベンチ
- 245 名前:nobodyさん [2006/06/17(土) 16:49:21 ID:uEg75/Hh]
- いろいろ参考になります。ありがトン。
ところで、perlccでperlスクリプトをバイナリにしとくのって cgiが速くなるのでしょうか。やってみればいいんでしょうけど。
- 246 名前:nobodyさん [2006/06/17(土) 17:42:44 ID:PIdwd3B2]
- SpeedyCGIってWindowsでは動かないのか?
- 247 名前:nobodyさん mailto:sage [2006/06/17(土) 18:13:28 ID:???]
- >>133の続きマダー?
- 248 名前:nobodyさん mailto:sage [2006/06/17(土) 19:57:24 ID:???]
- www.drk7.jp/MT/archives/000863.html
によると、FastCGIは、Segmentation Fault に悩まされる事がある様だけど、 ぶち当たった事がある人いる?
- 249 名前:nobodyさん mailto:sage [2006/06/17(土) 23:26:08 ID:???]
- なんかmod_perlというとmixiやhatenaが出てくるけど、
老舗/.もわるれないでほしいなぁ。
- 250 名前:nobodyさん mailto:sage [2006/06/18(日) 05:24:04 ID:???]
- 糞遅いcrc計算とかmd5計算とかどうよ
- 251 名前:nobodyさん mailto:sage [2006/06/18(日) 05:31:43 ID:???]
- いやぁ、どうもこうもないですよ
- 252 名前:nobodyさん mailto:sage [2006/06/18(日) 08:57:02 ID:???]
- >>234
>>235 >>239 同じWebサーバを使い、同じPerlインタプリタと同じコンパイル済みのコードをメモリ上に 常駐させて処理するんだから、その処理時間は、mod_perl,SpeedyCGI,FastCGIのどれも 掛かる時間は一緒。 せいぜい差が出るのは、起動の際の時間。 コードの量が増えれば、起動時間の差が占める割合が低くなるから、コードの規模が 大きくなるに従って、三者の差は無くなって行く。 凝ったコードでベンチを取っても、「CGIは遅いが、mod_perl,SpeedyCGI,FastCGIはほとんど 差が出ない」という結果が出るだけ。 だから、「最小限のコード」でベンチを取るのは正解。 ただ、処理時間の「差」を見るのは良いが、「比率」を見てしまうと、間違いの基。 あとは、メモリを喰いすぎてswapを起こして遅くならないかとか、マルチ*な環境を有効に 使えるかとか、一度に多くのリクエストが集中した時に、適切に捌けるかと言った比較を するのは意味がある。
- 253 名前:nobodyさん mailto:sage [2006/06/18(日) 11:01:42 ID:???]
- >>252
> あとは、メモリを喰いすぎてswapを起こして遅くならないかとか、 > マルチ*な環境を有効に使えるかとか、一度に多くのリクエストが > 集中した時に、適切に捌けるかと言った比較をするのは意味がある。 よく意味がわかりません。
- 254 名前:nobodyさん mailto:sage [2006/06/18(日) 11:12:02 ID:???]
- >>252
> だから、「最小限のコード」でベンチを取るのは正解。 そうかな、むりやり差を出すのが正解とは思わないが。 > あとは、メモリを喰いすぎてswapを起こして遅くならないかとか mod_perlは自分に対してのswapは、許してないよ。 プロセスごとkillされる。
- 255 名前:nobodyさん mailto:sage [2006/06/20(火) 22:59:20 ID:???]
- 誰かPerlの本格的コンパイラ作らんかな。
できるはずなんだけど。 Basicのようにスクリプト、実行ファイル両立方式になればなあ。 一々グローバル変数初期化しなくてもよくなる。 スピードも上がる。 絵に描いた餅ですまそ。
- 256 名前:nobodyさん mailto:sage [2006/06/21(水) 02:12:20 ID:???]
- 妄想するのは構わないがリサーチもせんと書き込むな
- 257 名前:nobodyさん [2006/06/21(水) 07:25:59 ID:vwMWqBxm BE:151564-#]
- perlccってあんまりはやらんですよね。
- 258 名前:255 mailto:sage [2006/06/21(水) 10:21:51 ID:???]
- 確かに妄想なんだがリサーチしようがないだろう。
似たような事例にGCC-JAVAがあるのは知ってる。 これ、Javaソースからネイティブコードにコンパイルする。 でもJava自体にJITコンパイラがあるから、Javaでは無視されている。 GCC-PERLがあればなあ。
- 259 名前:nobodyさん mailto:sage [2006/06/21(水) 18:48:07 ID:???]
- >リサーチしようがないだろう。
>リサーチしようがないだろう。 >リサーチしようがないだろう。 www.google.co.jp/search?hl=en&q=Perl+Compiler
- 260 名前:nobodyさん mailto:sage [2006/06/21(水) 18:50:21 ID:??? BE:238789139-#]
- PARはPerlのDLL全部ぶち込んで
スクリプトをZIP圧縮してるだけだし
- 261 名前:nobodyさん mailto:sage [2006/06/21(水) 19:23:28 ID:???]
- >>259
perlccばっかりやん。 役にたたんのはわかってるんでねえ?
- 262 名前:nobodyさん mailto:sage [2006/06/21(水) 19:26:27 ID:???]
- gcc-perlってある意味理想でねえ?
- 263 名前:nobodyさん mailto:sage [2006/06/22(木) 16:38:10 ID:???]
- perlccはバイトコードに変換してるだけだからね。
バイトコード間でもバージョンが違うと動かないし。
- 264 名前:nobodyさん [2006/06/23(金) 02:29:54 ID:ybv8oJFI]
- 漏れが>>245で、2006/06/17(土) 16:49:21にperlccのこと
質問したのに、無視しといて、>>257が質問したら、急に レスが付くって、本当にありがとう。
- 265 名前:nobodyさん mailto:sage [2006/06/23(金) 06:47:43 ID:???]
- ここにはレスしなければならないという義務が存在するのか?レスをするのもしないのも自由。
大人は質問に答えたりしない それが基本だ お前たちはその基本をはきちがえているから 今朽ち果てて こんな船にいるのだ 無論中には 答える大人もいる しかし それは答える側にとって 都合のいい内容だからそうしているのであって そんなものを信用するってことは つまりのせられているってことだ なぜそれがわからない・・・・? なぜ・・・・ そのことに気付かない・・・・?
- 266 名前:nobodyさん mailto:sage [2006/06/23(金) 12:15:30 ID:??? BE:132660735-#]
- カイジ厨乙
- 267 名前:243 mailto:sage [2006/06/23(金) 12:38:21 ID:???]
- >>264
今度、ベンチとるときにperlccもやるつもりだったよ。(-Bオプションのみ) レスはしなかったが。
- 268 名前:nobodyさん [2006/06/23(金) 15:46:55 ID:6y25kE0L]
- mod_perlのPerlRegistry + Apache::DBIな永遠DBI接続みたいなもんは
mod_speedycgiにあるのかな? DBをあつかってるシステムならPerlRegistry+Apache::DBIがベストだと思ってたけど ApacheとDBのプロセスで食いつぶれるメモリの配慮でツカレタよ。 なんかmod_speedycgiよさげだね。
- 269 名前:nobodyさん mailto:sage [2006/06/23(金) 15:51:08 ID:???]
- 最大メモリ使用量 積めるだけ
- 270 名前:nobodyさん mailto:sage [2006/06/23(金) 22:15:44 ID:???]
- >>268
フロントコントローラしてくれる手軽なFWがあれば便利なんだけど。 perl -MCPAN -e "Bundle::Maypole" したら、あまりにも大袈裟なんで、めげた。
- 271 名前:nobodyさん mailto:sage [2006/06/25(日) 04:11:20 ID:???]
- >>245
バイトコードへの変換はそれほどコストが掛かる訳じゃないので perlccでバイトコードへ変換してもそれほど高速にはなりません。 とはいえ実測では1割程度の速度アップが見られました。 誰もが初めからレス見てると思うなよ、ガラスの十代め。
- 272 名前:245 [2006/06/25(日) 09:47:47 ID:HMa92uFN]
- >>271
誰をガラスの十代って言ってるのかとおもたらこの漏れのことか。 とてもご親切にありがとう。これから「ガラスの十代」ググってきまつ。
- 273 名前:nobodyさん mailto:sage [2006/06/25(日) 09:56:40 ID:???]
- 涙で見えなくてカに「゛」を打ち忘れるなよ。
- 274 名前:267 mailto:sage [2006/06/25(日) 22:58:06 ID:???]
- workerのベンチをある程度とれたので公開。
測定環境 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) (これはリソースの解放の意図も含む) 以下、結果レポート。
- 275 名前:267 mailto:sage [2006/06/25(日) 22:59:21 ID:???]
- ab -n 20 -c 1
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
- 276 名前:267 mailto:sage [2006/06/25(日) 23:00:12 ID:???]
- ab -n 20 -c 40
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
- 277 名前:267 mailto:sage [2006/06/25(日) 23:00:54 ID:???]
- ab -n 20 -c 200
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
- 278 名前:267 mailto:sage [2006/06/25(日) 23:02:49 ID:???]
- 以上で全て。
ABORT時のメッセージはどれも The timeout specified has expired (70007) で同じ。
- 279 名前:267 mailto:sage [2006/06/25(日) 23:26:46 ID:???]
- 追記
使用ソース 運用中nicky.cgi改(SpeedyCGI、mod_perl対応)
- 280 名前:nobodyさん [2006/06/25(日) 23:39:37 ID:9F1oBnAV BE:101344-#]
- ab -n 20 -c 1とかのオプションってどういう意味なんでしたっけ?
- 281 名前:nobodyさん mailto:sage [2006/06/25(日) 23:40:32 ID:??? BE:397980195-#]
- www.atmarkit.co.jp/flinux/rensai/apache15/apache15b.html
ここら辺どぞ
- 282 名前:nobodyさん mailto:sage [2006/06/25(日) 23:49:53 ID:???]
- >>232,>>275を比べると、両者で測定条件が違いそうだけど、prefork,workerの差は、
あまりないと言う事かな? それにしても、SpeedyCGIは強いね。
- 283 名前:282 mailto:sage [2006/06/26(月) 00:27:02 ID:???]
- >>282
測定条件は違います。 前回: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も追加します。
- 284 名前:267 mailto:sage [2006/06/26(月) 00:30:33 ID:???]
- ↑トリップ282×→267○
- 285 名前:nobodyさん mailto:sage [2006/06/26(月) 07:53:28 ID:???]
- >>283
これ読んで気づいたけど、今回のS;peedyCGIは、mod_speedycgiではなかったんですね。 それから、mod_perl workerはRegistryだと思うけど、PerlRunの結果と、1回で良いから、 同一内容のhtmlを静的コンテンツとして取り出した際の値も併記してもらえれば嬉しい です。
- 286 名前:267 mailto:sage [2006/06/26(月) 09:34:03 ID:???]
- >>285
了解。 実運用のNicky!のデータを吸い込ませたので、同一内容のhtmlは元々有ります。 ただ、mod_perlと併用した場合とかなると条件をどうするか面倒なのでできれば静的コンテンツ単体で取りたいです。 複雑なものは、基本的なものが揃ってから。 後、ディストリはGentooがよかったかな。 ちょっと構築に時間がかかるけど。
- 287 名前:nobodyさん mailto:sage [2006/06/26(月) 20:13:13 ID:???]
- -n 20 -c 200って変じゃない?
200並列全体で20回のリクエストでしょ? 更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。
- 288 名前:267 mailto:sage [2006/06/26(月) 20:30:46 ID:???]
- > -n 20 -c 200って変じゃない?
http.confはいじってないのでMaxClients150のままです。 MaxClients150でc 200のときにどうなるのか興味があったので、あえて200を試しました。 > 更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。 すいませんが、よく意味がわかりません。 新しくプロセスを起こしてしまっているという意味でしょうか? 私はデータを提供しただけなので、問題があれば自分で反論を証明するデータを提出してください。 少なくとも「気がする」というような反論は勘弁してもらいたいです。
- 289 名前:267 mailto:sage [2006/06/26(月) 20:41:23 ID:???]
- あと、データ提供時に説明不足な点がありました。
perlcc -Bの時に2回目からクラッシュするパターンが多いですが、 実はこれは1回目が終わったあと動作が異常に重くなっていました。 恐らくCPU全開が数分間続くパターンに入っていたと思います。 次回検証します。 後、mod_perlの1回目がロースコアかつクラッシュが多い点について。 私見ですが、mod_perlはperlインタープリタを複製するのに、Apacheのプロセスを複製する必要があります。 当然1回目の起動コストは高くなると思います。
- 290 名前:nobodyさん mailto:sage [2006/06/26(月) 22:49:50 ID:???]
- >>288
>>287 が言っている事は、 -n 20 -c 200 だと、200回の同時接続要求を出すのに、全体のリクエスト数が それ以下の20回と言うのはおかしい。nの値は、cより大きい筈ではないか、 ではないかと思います。 もし、同時接続200を20回繰り返すという意図なら、-n 4000 -c 20 という感じか なと。(abが、リクエスト完了の後、すぐに次のリクエストを発行すれば、-n 4000 が、この意図を満たすのに適当な値ではないのですが) ちなみに、n < c の場合、少なくとも、c回のリクエストは発行する様です。
- 291 名前:nobodyさん mailto:sage [2006/06/27(火) 00:20:58 ID:???]
- こんな場所に匿名で貼られたオナニーベンチなんかだれも信用しないし、
べつにどんな方法でどうでもいいんじゃないかな。
- 292 名前:nobodyさん [2006/06/27(火) 03:14:50 ID:I9hdLSDQ BE:189656-#]
- >>291
嘘をつくメリットもないので、 参考にはなると思いますよ。
- 293 名前:nobodyさん mailto:sage [2006/06/27(火) 03:21:02 ID:???]
- ひろゆ子、このスレにいたのか・・・
- 294 名前:nobodyさん mailto:sage [2006/06/27(火) 03:27:58 ID:???]
- >同時接続200を20回繰り返すという意図なら、-n 4000 -c 20 という感じかな
-n:リクエスト数 -c:同時接続数 で、-n 20 -c 200 とか思ってたけど、奥深いんやね
- 295 名前:nobodyさん mailto:sage [2006/06/27(火) 04:02:48 ID:???]
- >>292
嘘をつくメリットがないと、参考になるというのは、すごくはつみみですね。
- 296 名前:245 [2006/06/27(火) 04:46:08 ID:z6n+0wh9]
- 動機がないと犯人にしづらいというのと同じだろ。
- 297 名前:267 mailto:sage [2006/06/27(火) 05:02:55 ID:???]
- >>287
>>290 失礼。 >290のいう通りの間違い。 やり直します。
- 298 名前:nobodyさん mailto:sage [2006/06/27(火) 10:09:21 ID:??? BE:176880454-#]
- ab -n 20 -c 20 までの結果を見ても
mod_perlはでかいメモリ間コピーをするから遅いってのが分かるじゃん
- 299 名前:nobodyさん mailto:sage [2006/06/27(火) 10:39:42 ID:???]
- >>291
そもそも、ベンチの結果なんて取り方によって変わって来るわけで、 267が書いている結果を、そのまま鵜呑みにする事は間違った判断 だと思う。その意味では、私も「信用」はしていない。 しかし、オナニーベンチの積み重ねで、一般的な傾向は見えると思う ので、「参考」になるとは思っている。 また、今までCGI、SpeedyCGI,FastCGI,mod_perlを比較したベンチを 目にする機会があまりなかったので、ネット上の情報を見て、 CGI << SpeedyCGI < FastCGI < mod_perl(Registry) だと思い込んでいたが、SpeedyCGI,FastCGI,mod_perlの速度は大差 がなく、順番だって怪し事が分かった事は、とても良かったと思う。 ちなみに、このスレを最初から読めば、267が匿名とは言い難い気がする。
- 300 名前:nobodyさん mailto:sage [2006/06/27(火) 11:17:41 ID:???]
- 十分参考になってるよ。
ありがと>>267
- 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されているんですよね。
|

|