【激速】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/
ー二三ヘ( ゚∀゚)ノ
0019nobodyさん
2006/06/13(火) 20:39:24ID:???> 愕然とするほどの差
何か間違えてない?
0020nobodyさん
2006/06/13(火) 21:03:44ID:???> Apachモジュールをperlで書けるからでしょ。
でしょうね。
アクセラレータとして使うメリットはみつけられない。
>>19
> > 2.メモリ消費
> > 愕然とするほどの差
>
> 何か間違えてない?
そのままお返しします。
mod_perlをはじめて使った時は感動したが、後で愕然とした。
しかも太る一方。
topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
そのまま使い続けたが、他のアプリがスワップしはじめガリガリいいだしたのでSpeedyCGIに変えた。
0021nobodyさん
2006/06/13(火) 21:05:17ID:???topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
↑間違い
topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
しかも太る一方。
0022nobodyさん
2006/06/13(火) 22:00:36ID:???> しかも太る一方。
> topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
apache の設定がわからんからといって、mod_perl のせいにしてはいかんよね。
0023nobodyさん
2006/06/13(火) 22:09:37ID:???めちゃくちゃ言うなあ。
mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
逆にそちらではどれくらいのサイズなんだ?
0024nobodyさん
2006/06/13(火) 22:13:19ID:???> めちゃくちゃ言うなあ。
どこらへんが滅茶苦茶なのだろう。
> mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
そうでしょうね。
> 逆にそちらではどれくらいのサイズなんだ?
アプリケーションの規模によるよね。
002523
2006/06/13(火) 22:15:54ID:???mod_perlに限らずmod_php、mod_ruby等もメモリの食いっぷりがすごいが。
002622, 24
2006/06/13(火) 22:19:13ID:???フロントエンドで画像等をさばき、それ以外のものをバックエンドに送る。
バックエンド側で起動する perl のプロセスは、積んでいるメモリで決める。
そこらへん、mixi なり hatena bookmark なりの資料探して読むとわかるとおもう。
002723
2006/06/13(火) 22:20:52ID:???あほくさ。
> > mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
>
> そうでしょうね。
設定正しいって事やないか。
Apacheでmod_perlのメモリの制御はできん。
> > 逆にそちらではどれくらいのサイズなんだ?
>
> アプリケーションの規模によるよね。
使った事がないんだな。
そんな単純な食い方はしない。
0028nobodyさん
NGNG0029nobodyさん
2006/06/13(火) 22:23:13ID:???メモリの使用量でなく、プロセスの数を調整する。
で、定期的に再起動するようなオプションあるよね。
003023
2006/06/13(火) 22:26:21ID:???当然そういうことだが。
言葉がうわすべりしてないか?
mod_perlでリバースプロキシ使うのは、
1.mod_perlでApacheが太り、静的サービスの反応が鈍る。
2.解決策として静的サービスには別のApacheを使う。
こういうことなんだが。
何も別マシンにリバースプロキシかけなくても静的サービスのスピード向上はできるよ。
003223
2006/06/13(火) 22:28:56ID:???> メモリの使用量でなく、プロセスの数を調整する。
> で、定期的に再起動するようなオプションあるよね。
面白いこと言うな。
プロセスの数は調整できんよ。
ある回数起動したらプロセス死ぬ設定はできるが、プロセスの数は運まかせになるよ。
0034nobodyさん
2006/06/13(火) 22:34:30ID:???0038nobodyさん
NGNG0039nobodyさん
2006/06/13(火) 22:47:05ID:???0040nobodyさん
2006/06/13(火) 22:49:19ID:???http://d.hatena.ne.jp/babie/20060201/p3
何やこれ。
1.Apacheが太るので子プロセスの数を制限する。
2.静的コンテンツのスピード確保にリバースプロキシを使う。
3.Apache自体をできるだけ太らせない。
当たり前のことやんか。
何も新しいものあらへん。
004140
2006/06/13(火) 22:50:40ID:???0043nobodyさん
2006/06/13(火) 22:55:14ID:???専用の鯖がいるってことでそ。
0044nobodyさん
2006/06/13(火) 22:57:03ID:???http://d.hatena.ne.jp/babie/20060201/p3
>テスト機で試した。MaxClients 調整前はめっさ重くなる(SSHまで!)。
>MaxClients 調整後はなんとか耐えられる。
なんとか耐えられるんだってよ。
0046nobodyさん
NGNG必死すぎ
ワロタ
0047nobodyさん
2006/06/13(火) 22:58:02ID:???なおかつcgiも速くなるってのはどれ?
0050nobodyさん
2006/06/13(火) 23:03:30ID:???規模が大きいほどmod_perl不利。
セッション数を捌けない。
規模が小さくてもやはり不利。
無用にApacheが圧迫されている。
0051nobodyさん
2006/06/13(火) 23:06:35ID:???0052nobodyさん
2006/06/13(火) 23:21:03ID:???SpeedyCGI同様にプロセス数を自由に設定できる。
Apacheと別プロセスなので、それによってApacheのMaxClientsが制限を受けない。
1.SpeedyCGIは導入は容易。
Perl内部の問題で終わらせられる。
必要ならApacheモジュールもある。
2.FastCGIはアプリ起動用スクリプトと、Apacheの設定が必要。
ただし、ほぼ言語を問わず使用できるので、言語が混在しているサイトには有利。
最近lighttpdとの組み合わせが一部で人気?
スピードはどれも意味のある差はない。
0053nobodyさん
2006/06/13(火) 23:23:19ID:???005452
2006/06/13(火) 23:26:56ID:???1.メモリの管理が非常に下手。
2.導入時にmod_perl独自の制限がある。
(カレントDirがPerlとは違う。使えない文法がある)
以上の点でSpeedyCGI、FastCGIに比べ劣るが、逆に有利な点は不明。
0055nobodyさん
2006/06/13(火) 23:28:50ID:???応用も利きそうなのでいい感じかも
0057nobodyさん
2006/06/13(火) 23:30:47ID:???005852
2006/06/13(火) 23:31:48ID:???ベンチはそれほど意味がないよ。
引用先も、対象ベンチ次第でで結果がころころ変わっている。
しかし、mod_perlはベンチでも負けている記事が目立つ。
0060nobodyさん
2006/06/13(火) 23:37:01ID:???0061nobodyさん
2006/06/13(火) 23:38:41ID:???mod_perlは一体どこがアドバンテージ?
0062nobodyさん
2006/06/13(火) 23:39:34ID:???0065nobodyさん
NGNG0066nobodyさん
2006/06/13(火) 23:44:02ID:???0067nobodyさん
2006/06/14(水) 00:04:43ID:???Cの方が早いだろうけどインタープリタ部分のコストを除いた純粋な言語の速度対決なら
C/CGI vs Perl/CGIほどの差は出ないと思うのですが実際のところどのぐらい違うでしょうか。
0068nobodyさん
2006/06/14(水) 00:05:10ID:???必死だが、答えられないmod_perl厨は逝ってよし。
0069nobodyさん
2006/06/14(水) 00:07:07ID:???http://pc8.2ch.net/test/read.cgi/php/1149089424/2
0070nobodyさん
2006/06/14(水) 00:12:22ID:???試してないので机上の空論ですまそ。
Cはコンパイル時に非常に長い時間をかけて最適化を行うので、一瞬でコンパイルする必要があるPerlコンパイラとはやはり根本的な差があると思う。
そうでなければ、Cが今だに強い理由はないと思う。
しかし、大きく差が詰まるのは間違いないよね。
0071nobodyさん
2006/06/14(水) 00:14:07ID:???Web アプリの分野で?w
0074nobodyさん
2006/06/14(水) 00:46:51ID:???Win上で同じくネイティブコードを吐く、VBとCの速度差にビビった経験があるな。
.NETでは言語間の速度差はほぼ無いようだが。
0075nobodyさん
2006/06/14(水) 01:56:44ID:???ヤフーとかもそうでしょう。
0076nobodyさん
2006/06/14(水) 02:11:38ID:???0077nobodyさん
NGNG0079nobodyさん
2006/06/14(水) 13:01:49ID:???ボトルネックになるディスクI/Oを減らすために少しでもI/Oの速いメモリに溜め込むけど
その結果メモリを馬鹿食いと。
0080nobodyさん
2006/06/14(水) 13:40:58ID:???mod_perlの馬鹿食いはそのせいだけじゃないよ。
mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
コードのキャッシュも全子プロセスが持つ。
結果的に、同じコピーが大量に作られる。
SpeedyCGIを運用しているが、常駐インタープリタは2個で充分。
リクエストが多い時はまたされるだけ。
ちゃんと捌く。
mod_perl運用時に比べメモリ使用量は激減した。
mod_perlはアクセラレータとしては、仕様に大きな問題があると思う。
0081nobodyさん
2006/06/14(水) 13:56:47ID:???0082nobodyさん
2006/06/14(水) 14:45:30ID:???その通りなんだけど、workerは1.3系列はダメじゃなかったかな?
効果もある程度だしね。
FastCGI、SpeedyCGIがインタープリタの数等、リソースを自由にコントロールできるのに対して仕様自体が???ではないの。
0083nobodyさん
2006/06/14(水) 14:58:15ID:???どこのベンチをみても有意な差がない。
というより、むしろ負け気味。
たとえ原理通りになっても、現実には無意味な程度だと思う。
0084nobodyさん
2006/06/14(水) 18:02:41ID:???0085nobodyさん
2006/06/14(水) 19:12:48ID:???0086nobodyさん
2006/06/14(水) 20:48:26ID:???>テスト機で試した。MaxClients 調整前はめっさ重くなる(SSHまで!)。
>MaxClients 調整後はなんとか耐えられる。
0087nobodyさん
2006/06/14(水) 20:53:08ID:???>MaxClients 調整後はなんとか耐えられる。
>MaxClients 調整後はなんとか耐えられる。
0088nobodyさん
2006/06/14(水) 23:00:35ID:???>>80
> mod_perlの馬鹿食いはそのせいだけじゃないよ。
> mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
> コードのキャッシュも全子プロセスが持つ。
> 結果的に、同じコピーが大量に作られる。
これに関しては、何を言いたいのかさっぱりわかりませんね。
0089nobodyさん
2006/06/14(水) 23:20:34ID:???mixiやはてながmod_perlで運用してるのは何か理由があるの?
0090nobodyさん
2006/06/14(水) 23:37:09ID:nPkMVDT9本物を見極められない哀れなmod_perler〜♪
0092nobodyさん
2006/06/15(木) 00:14:17ID:???0093nobodyさん
2006/06/15(木) 00:17:47ID:???> このスレ見てるとmod_perlうんこな流れだけど
> mixiやはてながmod_perlで運用してるのは何か理由があるの?
理由が知りたいから、
「mod_perlは一体どこがアドバンテージ?」
mod_perl厨に聞きつづけてるんだが。
未だに返事はなし。
0094nobodyさん
2006/06/15(木) 00:22:57ID:???これに返事もできない状態で
「mixiが...」
「はてなが...」
「ホリエモンの子飼いが...」
こんな話ばっかりやられてもねえ。
わからいなら、黙っとけ。
0095nobodyさん
2006/06/15(木) 00:28:25ID:???> ベンチマークすら提示せずに否定に走られてもねぇ。
>
> >>80
> > mod_perlの馬鹿食いはそのせいだけじゃないよ。
> > mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
> > コードのキャッシュも全子プロセスが持つ。
> > 結果的に、同じコピーが大量に作られる。
>
> これに関しては、何を言いたいのかさっぱりわかりませんね。
とてもユニークな意見やね。
どんなベンチとるんだろうか?
俺ならtopコマンド叩く程度しか思いつかんが。
0096nobodyさん
2006/06/15(木) 00:48:36ID:???同意。
しかもmixiが重いって話になると、今度は
「それはMySQLのせいらしい。」
とくる。
「mixiやはてながやってるから正しいんだろう。」
これ以上のものは見えてこない。
うんざり。
0097nobodyさん
2006/06/15(木) 02:30:04ID:???それが、こういう場所の良さではないのか?
0099nobodyさん
2006/06/15(木) 04:23:38ID:???0100nobodyさん
2006/06/15(木) 06:12:39ID:???なんだかアンチmod_perlが必死に見えるよ
落ち着こう
0101nobodyさん
2006/06/15(木) 06:18:43ID:???どこにでもいる最強厨
0102nobodyさん
NGNGフロントとしてつかうのであれば、
やっぱりmod_perlのメモリ量は気になるけどなぁ。
mod_perlの技術的なメリットがあるなら
きちんと知りたい昨今。
0103nobodyさん
2006/06/15(木) 06:52:48ID:???スレタイがアフォすぎだな。
----- ここからまったり雑談スレになります -----
0104nobodyさん
NGNGたしかに。
0105nobodyさん
2006/06/15(木) 07:31:47ID:???0107nobodyさん
NGNGSpeedyCGIは設定とか要らへんの?
0108nobodyさん
2006/06/15(木) 08:31:41ID:???かなり楽になるのかな?
0109nobodyさん
2006/06/15(木) 09:06:57ID:???SpeedyCGIは設定なし。
1.perlソースのグローバル変数を対応。
2.#!/usr/bin/perl等から#!/usr/bin/speedyや#!/usr/bin/perperl等に変更。
以上で終了。
Apacheは設定もできるが必要なし。
ただし、SpeedyCGIまたはPersistentPerl(中身はコマンド名以外同じ)が入っていること。
http://rintaro.dip.jp/program/nicky/index.html
0110nobodyさん
NGNGwindows用のバイナリは無いんですかね探してるんですけど
0112nobodyさん
2006/06/15(木) 10:17:00ID:???> lighttpd+FastCGIもいいかと思ったんだけど設定がめんどくさそうなんだけど
ぐぐれば、そこらへんに落ちてると思う。
0113nobodyさん
2006/06/15(木) 12:47:45ID:???落ちてはいるだろうけど、
1.lighttpdの導入および設定
2.FastCGIの設定およびアプリ起動スクリプト作成法
これ新しくマスターするの結構、手間がかかるよ。
0114nobodyさん
2006/06/15(木) 15:36:14ID:???0115nobodyさん
2006/06/15(木) 16:04:49ID:???>原理的には、プロセス間通信のないmod_perlは速度的に優位なはずだが、
>どこのベンチをみても有意な差がない。
プロセス間通信がないことは、応答時間の短縮にはつながっても
スループットにはあんまり影響しないってことじゃない?
0117nobodyさん
NGNG多くの処理がこなせるようになるわけじゃないってことすかね?
0118nobodyさん
2006/06/15(木) 18:57:53ID:???プロセス間通信がないmod_perlのほうが速いはずだけどベンチマークとったら差がない、ということだから、
mod_perlのほうが応答時間は短くなるかもしれないけど、それはスループットには影響を与えないんだろうね、ちうこと。
応答時間の短縮=スループットの工場とは誰もいってないよ。
それを主張したら>>115とすごく矛盾してしまうんだけど。
■ このスレッドは過去ログ倉庫に格納されています