1read 100read
2012年09月WebProg231: 【激速】mod_perl SpeedyCGI FastCGI【激速】 (849)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
Java VS PHP (598)
【PHP】PEAR Part3 (673)
【PHP】下らねぇ質問はID出して書き込みやがれ 123 (710)
Perlコーディング初心者質問スレ Part 64 (349)
中学生がPHPを習得するスレ (264)
☆ショッピングカートのCGIを作りたい!Perlで☆ (511)
【激速】mod_perl SpeedyCGI FastCGI【激速】
- 1 :2006/06/05 〜 最終レス :2012/04/17
- mod_perl
http://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/
ー二三ヘ( ゚∀゚)ノ
- 2 :
- 僕の肛門も高速化されそうです
- 3 :
- mod_perlを04Webserverで使用してみたいのですが、
mod_perl.dllの仕様、使い方について解説されている
ページとか有りませんか?
- 4 :
- そんな馬鹿なことせずに apache 使えばよろし。
- 5 :
- SpeedyCGI使えばPerl側だけの問題で済ませるやん。
- 6 :
- 前スレに書いちゃって、誘導されてきました。前スレ995です。
↓こういう質問なんですが・・・。
mod_perlを設定中な者ですが、一つどこのサイトにも明示的には書いてない気が
して、あきらかにしたいんですが、、、
ModPerl::Registry を使って .cgiを動かしても、その.cgiファイル内からuseしたり使
っているモジュールは、別途PerlRequireで指定のスクリプト内でuseしてロードしな
ければならないのでしょうか?
現在実験している環境だと、PerlRequire経由でuseでロードしないモジュールは、
perl-statusの "Loaded Modules"には出てきません。僕の勝手な想像では、
「ModPerl::Registryが呼び出した.cgiがuseしているモジュール」は、適宜ロード
されて、perl-statusにも表示されるんじゃないかと予想していたんですが、それは
ちがうんでしょうかね?
当方の設定ミスなのか、仕様なのかがいまいちはっきり分らないので、聞いてみます。。。
- 7 :
- どのタイミングで、どのプロセスが、モジュールを読みこんでいるのか?
どのプロセスが読み込み済みのモジュールをチェックしようとしているのか?
ってのを意識しながら動作検証するといいといいんじゃない?
- 8 :
- mod_perl時の場合END{}はプロセスが終了した時のみに実行されますが
mod_perl時にPerl/CGIのEND{}と同様の事をしたい場合どうするのが一番良いのでしょうか。
- 9 :
- >>8
mod_perlにそういうhookが用意されていないと無理
- 10 :
- たいていオブジェクト指向バリバリで書くからsub DESTROYでも用意しておけばいいんじゃね?
- 11 :
- 了解です、ありがとうございます。
取りあえず
*CORE::GLOBAL::exit = sub { hogehoge(); \&Apache::exit } if$ENV{MOD_PERL};
のようにしてexitをオーバーライドしてexitの前に割り込ませる事にしました。
どんな処理でも必ずexitされるわけではないですけど。
- 12 :
- mod_perlをapacheで走らせてるときに、
apacheのerror_logに任意のテキストを出力したりすることって
出来るんでしょうか?
- 13 :
- stderrにprintしる!
- 14 :
- mod_perlなら
http://search.cpan.org/~gozer/mod_perl-1.29/Log/Log.pm
これ。
mod_perl2なら
http://search.cpan.org/~pgollucci/mod_perl-2.0.2/docs/api/Apache2/Log.pod
これかな?
- 15 :
- おぉ、どうもですー。
- 16 :
- Log4perl とか使えば、あんなことやこんなことできるんでは?
- 17 :
- 前スレから疑問なんだけど、なぜにSpeedyCGIではなくmod_perlなの?
両方使ったが、
1.体感スピード
同じ
2.メモリ消費
愕然とするほどの差
3.導入の障害
圧倒的にSpeedyCGI有利
どちらもPerl専用アクセラレータだけどわざわざ選ぶメリットが見つけられん。
- 18 :
- Apachモジュールをperlで書けるからでしょ。
- 19 :
- > 2.メモリ消費
> 愕然とするほどの差
何か間違えてない?
- 20 :
- >>18
> Apachモジュールをperlで書けるからでしょ。
でしょうね。
アクセラレータとして使うメリットはみつけられない。
>>19
> > 2.メモリ消費
> > 愕然とするほどの差
>
> 何か間違えてない?
そのままお返しします。
mod_perlをはじめて使った時は感動したが、後で愕然とした。
しかも太る一方。
topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
そのまま使い続けたが、他のアプリがスワップしはじめガリガリいいだしたのでSpeedyCGIに変えた。
- 21 :
- しかも太る一方。
topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
↑間違い
topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
しかも太る一方。
- 22 :
- > mod_perlをはじめて使った時は感動したが、後で愕然とした。
> しかも太る一方。
> topコマンドを叩いたら、10MB超のアパッチプロセスが10個以上並んでいた。
apache の設定がわからんからといって、mod_perl のせいにしてはいかんよね。
- 23 :
- >>22
めちゃくちゃ言うなあ。
mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
逆にそちらではどれくらいのサイズなんだ?
- 24 :
- >>23
> めちゃくちゃ言うなあ。
どこらへんが滅茶苦茶なのだろう。
> mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
そうでしょうね。
> 逆にそちらではどれくらいのサイズなんだ?
アプリケーションの規模によるよね。
- 25 :
- mod_perlでApacheが太るからわざわざリバースプロキシ使ってるんではなかったのか?
mod_perlに限らずmod_php、mod_ruby等もメモリの食いっぷりがすごいが。
- 26 :
- mod_perl 等を使う時は、フロントエンドとバックエンドに分けて使う。
フロントエンドで画像等をさばき、それ以外のものをバックエンドに送る。
バックエンド側で起動する perl のプロセスは、積んでいるメモリで決める。
そこらへん、mixi なり hatena bookmark なりの資料探して読むとわかるとおもう。
- 27 :
- >>24
あほくさ。
> > mod_perlをoffにしてapache再起動したら、通常のサイズに戻ったが。
>
> そうでしょうね。
設定正しいって事やないか。
Apacheでmod_perlのメモリの制御はできん。
> > 逆にそちらではどれくらいのサイズなんだ?
>
> アプリケーションの規模によるよね。
使った事がないんだな。
そんな単純な食い方はしない。
- 28 :
- (・∀・)ニヤニヤ
- 29 :
- > Apacheでmod_perlのメモリの制御はできん。
メモリの使用量でなく、プロセスの数を調整する。
で、定期的に再起動するようなオプションあるよね。
- 30 :
- >>26
当然そういうことだが。
言葉がうわすべりしてないか?
mod_perlでリバースプロキシ使うのは、
1.mod_perlでApacheが太り、静的サービスの反応が鈍る。
2.解決策として静的サービスには別のApacheを使う。
こういうことなんだが。
何も別マシンにリバースプロキシかけなくても静的サービスのスピード向上はできるよ。
- 31 :
- >>30
別マシンとはひとことも言っていませんね。
- 32 :
- >>29
> メモリの使用量でなく、プロセスの数を調整する。
> で、定期的に再起動するようなオプションあるよね。
面白いこと言うな。
プロセスの数は調整できんよ。
ある回数起動したらプロセス死ぬ設定はできるが、プロセスの数は運まかせになるよ。
- 33 :
- >>31
いいわけかっこ悪い。
- 34 :
- http://d.hatena.ne.jp/babie/20060201/p3
- 35 :
- >>33
どこらへんがいいわけなのだろう。
- 36 :
- >>34
で君はそのページをまねて、実際にどれくらい節約できた?
- 37 :
- >>35
(・∀・)ニヤニヤ
- 38 :
- (´;ω;`)
- 39 :
- (´・ω・`)
- 40 :
- >>34
http://d.hatena.ne.jp/babie/20060201/p3
何やこれ。
1.Apacheが太るので子プロセスの数を制限する。
2.静的コンテンツのスピード確保にリバースプロキシを使う。
3.Apache自体をできるだけ太らせない。
当たり前のことやんか。
何も新しいものあらへん。
- 41 :
- というか、これではやはりSpeedyCGI以下。
- 42 :
- >>41
どれでは?
- 43 :
- mod_perl使いたきゃ、
専用の鯖がいるってことでそ。
- 44 :
- >>34
http://d.hatena.ne.jp/babie/20060201/p3
>テスト機で試した。MaxClients 調整前はめっさ重くなる(SSHまで!)。
>MaxClients 調整後はなんとか耐えられる。
なんとか耐えられるんだってよ。
- 45 :
- >>43
?
- 46 :
- mod_perl厨
必死すぎ
ワロタ
- 47 :
- 静的なもんも、動的なもんも、とりあえず一台でさばけて、
なおかつcgiも速くなるってのはどれ?
- 48 :
- >>47
規模を書かないと話にならないのでは?
- 49 :
- >>48
規模によってmod_perlがSpeedyCGIを上回ることがあんの?
- 50 :
- >>48
規模が大きいほどmod_perl不利。
セッション数を捌けない。
規模が小さくてもやはり不利。
無用にApacheが圧迫されている。
- 51 :
- FastCGIって、mod_perlやSpeedyCGIに比べるとどんなん?
- 52 :
- 優秀。
SpeedyCGI同様にプロセス数を自由に設定できる。
Apacheと別プロセスなので、それによってApacheのMaxClientsが制限を受けない。
1.SpeedyCGIは導入は容易。
Perl内部の問題で終わらせられる。
必要ならApacheモジュールもある。
2.FastCGIはアプリ起動用スクリプトと、Apacheの設定が必要。
ただし、ほぼ言語を問わず使用できるので、言語が混在しているサイトには有利。
最近lighttpdとの組み合わせが一部で人気?
スピードはどれも意味のある差はない。
- 53 :
- http://www.dmst.aueb.gr/dds/pubs/conf/2002-SANE-DynCont/html/dyncont.html
- 54 :
- mod_perlは
1.メモリの管理が非常に下手。
2.導入時にmod_perl独自の制限がある。
(カレントDirがPerlとは違う。使えない文法がある)
以上の点でSpeedyCGI、FastCGIに比べ劣るが、逆に有利な点は不明。
- 55 :
- FastCGI安定してるなぁ。
応用も利きそうなのでいい感じかも
- 56 :
- >>53
古くね?
- 57 :
- なんかものすごい自演だらけの予感。
- 58 :
- >>53
ベンチはそれほど意味がないよ。
引用先も、対象ベンチ次第でで結果がころころ変わっている。
しかし、mod_perlはベンチでも負けている記事が目立つ。
- 59 :
- >>57
同意。
- 60 :
- mod_perl って 3 系統くらいあった気がするけど、だれか違いを説明きぼん。
- 61 :
- このスレの住人ってなぜにmod_perlにしがみつくの?
mod_perlは一体どこがアドバンテージ?
- 62 :
- なにをもって「mod_perlにしがみつく」ということにしたいのだろう。
- 63 :
- >>62
(・∀・)
- 64 :
- >>62
(・∀・)ニヤニヤ
- 65 :
- 出来損ないには愛着が沸くもの
- 66 :
- もうmod_perl専用スレじゃないのにね。
- 67 :
- C/FastCGIとPerl/FastCGIってどのくらい速度が違うか実践した方います?
Cの方が早いだろうけどインタープリタ部分のコストを除いた純粋な言語の速度対決なら
C/CGI vs Perl/CGIほどの差は出ないと思うのですが実際のところどのぐらい違うでしょうか。
- 68 :
- > mod_perlは一体どこがアドバンテージ?
必死だが、答えられないmod_perl厨は逝ってよし。
- 69 :
- うーん、こうやって貼り付けたくなるほど出来損ないには愛着がわくなw
http://pc8.2ch.net/test/read.cgi/php/1149089424/2
- 70 :
- >>67
試してないので机上の空論ですまそ。
Cはコンパイル時に非常に長い時間をかけて最適化を行うので、一瞬でコンパイルする必要があるPerlコンパイラとはやはり根本的な差があると思う。
そうでなければ、Cが今だに強い理由はないと思う。
しかし、大きく差が詰まるのは間違いないよね。
- 71 :
- >> そうでなければ、Cが今だに強い理由はないと思う。
Web アプリの分野で?w
- 72 :
- >>72
まさか。
速度が必要な分野で。
OS、DB、科学技術計算。
- 73 :
- ↑
>>71
- 74 :
- >>67
Win上で同じくネイティブコードを吐く、VBとCの速度差にビビった経験があるな。
.NETでは言語間の速度差はほぼ無いようだが。
- 75 :
- 本格的に大規模なサイトだと、重い処理はCで書いて、それをPerlやPHPから使うって言うのが解決策になってるんじゃないかな。
ヤフーとかもそうでしょう。
- 76 :
- まぁ各ファイルで共通の手続きはできるだけモジュールに括り出すんだな。
- 77 :
- 大抵はI/Oがボトルネックだから関係ないべ
- 78 :
- >>77
Cの処理速度にはまじでビビるよ。
I/Oかかえていても速い。
- 79 :
- CPUが直接食える状態になってるからな。
ボトルネックになるディスクI/Oを減らすために少しでもI/Oの速いメモリに溜め込むけど
その結果メモリを馬鹿食いと。
- 80 :
- >>79
mod_perlの馬鹿食いはそのせいだけじゃないよ。
mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
コードのキャッシュも全子プロセスが持つ。
結果的に、同じコピーが大量に作られる。
SpeedyCGIを運用しているが、常駐インタープリタは2個で充分。
リクエストが多い時はまたされるだけ。
ちゃんと捌く。
mod_perl運用時に比べメモリ使用量は激減した。
mod_perlはアクセラレータとしては、仕様に大きな問題があると思う。
- 81 :
- preforkはアレだが、workerならある程度再利用が有効に効かない?
- 82 :
- >>81
その通りなんだけど、workerは1.3系列はダメじゃなかったかな?
効果もある程度だしね。
FastCGI、SpeedyCGIがインタープリタの数等、リソースを自由にコントロールできるのに対して仕様自体が???ではないの。
- 83 :
- 原理的には、プロセス間通信のないmod_perlは速度的に優位なはずだが、
どこのベンチをみても有意な差がない。
というより、むしろ負け気味。
たとえ原理通りになっても、現実には無意味な程度だと思う。
- 84 :
- とりあえず、”アクセラレータ"としては、SpeedCGIか、FastCGIでってことでオケ?
- 85 :
- 無茶な使いかたしなければmod_perlでもいんじゃね?
- 86 :
- http://d.hatena.ne.jp/babie/20060201/p3
>テスト機で試した。MaxClients 調整前はめっさ重くなる(SSHまで!)。
>MaxClients 調整後はなんとか耐えられる。
- 87 :
- >MaxClients 調整後はなんとか耐えられる。
>MaxClients 調整後はなんとか耐えられる。
>MaxClients 調整後はなんとか耐えられる。
- 88 :
- ベンチマークすら提示せずに否定に走られてもねぇ。
>>80
> mod_perlの馬鹿食いはそのせいだけじゃないよ。
> mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
> コードのキャッシュも全子プロセスが持つ。
> 結果的に、同じコピーが大量に作られる。
これに関しては、何を言いたいのかさっぱりわかりませんね。
- 89 :
- このスレ見てるとmod_perlRな流れだけど
mixiやはてながmod_perlで運用してるのは何か理由があるの?
- 90 :
- Apacheモジュールだからというだけで食いつきがいいような希ガス。
本物を見極められない哀れなmod_perler〜♪
- 91 :
- >>90
その本物とやらは、どんなものなんでしょう?
- 92 :
- まだ自分専用のスレと勘違いしたままのmod_perl厨カワイソス
- 93 :
- >>89
> このスレ見てるとmod_perlRな流れだけど
> mixiやはてながmod_perlで運用してるのは何か理由があるの?
理由が知りたいから、
「mod_perlは一体どこがアドバンテージ?」
mod_perl厨に聞きつづけてるんだが。
未だに返事はなし。
- 94 :
- 「mod_perlは一体どこがアドバンテージ?」
これに返事もできない状態で
「mixiが...」
「はてなが...」
「ホリエモンの子飼いが...」
こんな話ばっかりやられてもねえ。
わからいなら、黙っとけ。
- 95 :
- >>88
> ベンチマークすら提示せずに否定に走られてもねぇ。
>
> >>80
> > mod_perlの馬鹿食いはそのせいだけじゃないよ。
> > mod_perlはApacheの全子プロセスに問答無用でPerlインタプリタを埋め込む。
> > コードのキャッシュも全子プロセスが持つ。
> > 結果的に、同じコピーが大量に作られる。
>
> これに関しては、何を言いたいのかさっぱりわかりませんね。
とてもユニークな意見やね。
どんなベンチとるんだろうか?
俺ならtopコマンド叩く程度しか思いつかんが。
- 96 :
- >>94
同意。
しかもmixiが重いって話になると、今度は
「それはMySQLのせいらしい。」
とくる。
「mixiやはてながやってるから正しいんだろう。」
これ以上のものは見えてこない。
うんざり。
- 97 :
- mixiがやろうと、はてながやろうと、間違ってると思えばその通りに発言できる。
それが、こういう場所の良さではないのか?
- 98 :
- >>85
”アクセラレータ"としてのmod_perl自体が無茶かと...
- 99 :
- 実績があるからじゃないの。mixiやはてなクラスなら、フロントサーバとアプリケーションサーバを分けて運用するの、どのみち必須だろうし。
- 100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
MySQL vs PostgreSQL (379)
【MT】犬でも使えるBLOGスレ【逝吉】 (677)
【荒らしお断り】 BBQを組み込んでる人【システム】 (402)
一番汚いコードでHello Worldを書いたやつが勝ち (213)
アップローダースレ Part3 (784)
【ECサイト】CS-Cart Part1 (944)
--log9.info------------------
【不況】徳島の熱帯魚店情報【倒産】 (348)
熱帯魚を飼い始めて分かった事 (610)
@@@ カブトエビ 4匹目@@@ (301)
水作22 (770)
カメ飼いの分際で一丁前に濾過を語るスレ (895)
今までにない感じのレイアウトを考えるスレ (531)
水換えしたらageるスレ (540)
藍藻対策スレ2〜水槽を腐海にしてやろうか (580)
【水草】☆★ソイル part2★☆【もさもさ】 (434)
【保温】ヒーター・サーモ総合スレ 7W【加温】 (942)
【マラウィ】 アフリカン・シクリッド7 【タンガニイカ】 (659)
中上級者向け 大磯水草水槽総合スレ part3 (308)
【東大関】**らんちゅう part2【西大関】 (550)
【世田谷以外】東京都アクアショップスレ7【都内】 (297)
【ビオ風】 庭・ベランダで飼育 24【外飼】 (473)
【オパエウラ】ホロホロ【抱卵3匹目】 (474)
--log55.com------------------
【韓国】栄養剤の注射を受けるため横たわったベトナム出身の妊婦に中絶手術 /ソウル[9/24]
【文在寅大統領・不在】『鬼の居ぬ間にというより、馬鹿の居ぬ間に』と囁く人も![9/24]
【ICAO総会開幕】台湾参加を支持する声続々 外交国12カ国や日・英など支持[9/24]
【韓国・忠清北道】「日本戦犯企業製品購入制限条例」再議要求 道議会に全国で初めて要請「実益より企業活動委縮懸念」[9/24]
【東京五輪の旭日旗】北朝鮮メディアが怒り=「五輪精神を愚弄」「ごみ箱に捨てよ」[09/25]
【日韓関係の転機となるか?】両国外相が米ニューヨークで会談へ[09/25]
【毎日新聞】誰も傷つけない表現に意味はない[9/25]
【朝日新聞】米議会で日韓関係の改善促す決議 下院で可決[9/25]