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/ ー二三ヘ( ゚∀゚)ノ
575 名前:nobodyさん mailto:sage [2006/10/06(金) 01:19:18 ID:???] こんな糞スレ参考にすらならないのに。w
576 名前:nobodyさん mailto:sage [2006/10/06(金) 01:35:11 ID:???] 検索であっさり見付かったw pc8.2ch.net/test/read.cgi/hp/1154177468/493- こんなところにまで乗り込まなくていいのに・・・
577 名前:nobodyさん mailto:sage [2006/10/06(金) 03:14:53 ID:???] そのスレでも似たような事が書いてあるけどmod_perl使うとメモリ数G載せないと駄目と 違う人から何回か聞いたんだけどどっかでそういうアホな情報載せてるページがあるの?
578 名前:nobodyさん mailto:sage [2006/10/06(金) 04:04:05 ID:???] mod_perlかFastCGIかなんてあんまり有意な差はないよ それより、プレコンパイルになって起動に時間がかからなくなるってことは 中身の速さ=実際の速さに近くなるってことなんだよ? つまり、DBで扱うテーブルやインデックスの設計とか効率的なSQL発行してるかとか DBのネックは殆どディスクIOかメモリ不足だからRAIDにするとかメモリ増やすとか (mod_perlで食うメモリなんてDBに食わせるメモリに比べたらささやかなんだよねorz) HTMLのレンダリングとか処理自体が遅いなら スクリプトのコーディングや使ってるCMS見直したほうが余程結果出せる・・・・ ちなみに576のリンク先のサイトもレスポンスヘッダ見ると 静的コンテンツはApache2、動的コンテンツはApache1.3+mod_perlだね mod_perlだけで数Gとかリバースプロキシも知らない奴が言ってるとしか思えないっ
579 名前:578 mailto:sage [2006/10/06(金) 04:14:08 ID:???] 576のURLさかのぼって行ったらサーバーステータス見つけたよ 一日の転送量は6.6Gで平時のロードアベレージは0.5程度、メモリは2Gちょいでした こういう事例を見れるのはおもしろい、もっとないかな
580 名前:nobodyさん mailto:sage [2006/10/06(金) 20:50:14 ID:???] >>578 > (mod_perlで食うメモリなんてDBに食わせるメモリに比べたらささやかなんだよねorz) 熱く語っているところに悪いが、 workerかそれ以外かでメモリ消費は激しく変わるんだが・・・ DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな
581 名前:nobodyさん mailto:sage [2006/10/06(金) 21:16:14 ID:???] >>580 >DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな 今やってる仕事のが300万件2G以上のテーブルあって 全然後のこと考えてない構成なのをまかされてしまって ちょっと愚痴気味に言ってしまったんだ、すまそ そこでもmod_perl使ってるんだけどそういうケースだと DBのチューニングの方が余程メモリに影響するんだよね ちなみにメイン鯖のメモリは8Gあって殆どDBに割いてるな・・・
582 名前:nobodyさん mailto:sage [2006/10/06(金) 22:33:48 ID:???] サイトの性格、アクセス数も関係するし、サーバ(群)のスペックも関係する。 リソースが貧弱な場合にmod_perlは躊躇するよなあ。 案件ごとにmod_perlだ、fastcgiだと使い分けるのも、今度は人的なリソースが不足しがちになるし。 まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。
583 名前:nobodyさん mailto:sage [2006/10/07(土) 04:42:23 ID:???] > まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。 みんな Java だし、Java がいいんじゃね?
584 名前:nobodyさん mailto:sage [2006/10/08(日) 01:55:11 ID:???] 8Gメモリ積んでる奴にmod_perlのメモリ消費は大したことはないといわれてもちょっと説得力がなぁ
585 名前:nobodyさん mailto:sage [2006/10/08(日) 02:32:04 ID:???] 規模が小さければPHPだよ。Javaはコストがかかる。
586 名前:nobodyさん mailto:sage [2006/10/08(日) 06:26:02 ID:???] 規模が小さい案件なんかやってるやつはばかです
587 名前:nobodyさん mailto:sage [2006/10/08(日) 16:54:31 ID:???] 自分で会社作って、小中規模の仕事をこなすのが一番儲かる。 大きな会社の社員PG、SEじゃたかが知れてる。
588 名前:nobodyさん mailto:sage [2006/10/13(金) 05:29:50 ID:???] 勢いを失ったPHPには、もう先がありません。
589 名前:nobodyさん mailto:sage [2006/10/13(金) 06:48:53 ID:???] RORの隆盛はPerlにとっても追い風だよな。
590 名前:nobodyさん mailto:sage [2006/11/05(日) 04:44:56 ID:???] jp.rubyist.net/PerlMa/wiki.cgi?page=20060401-ParrotManiacs#p29 やっとPerlもJITコンパイラになるんだな アクセラレータよ、さようなら PHPやPythonと共通のバイトコードになるのもいい って、まだまだ先の話か
591 名前:nobodyさん mailto:sage [2006/11/05(日) 17:44:07 ID:???] むしろperl等もJVMのバイトコードを出力するようにしてしまった方が 後々メリットが得られるような気もするが そうでもないのかね。
592 名前:nobodyさん mailto:sage [2006/11/05(日) 19:17:48 ID:???] そのためにはPerl6が必要になるんじゃないの?
593 名前:nobodyさん mailto:sage [2006/11/05(日) 19:55:56 ID:???] >>591 とりあえず、JVMのコードが変換できるようになればそれでいいやん .NETも変換できるようだし >>592 Perl5もコンパイルできるようにするようだよ でも、肝心のParrotが未だに開発中
594 名前:nobodyさん mailto:sage [2006/11/05(日) 21:02:17 ID:???] でもこれって結果的にスクリプト言語を勢いづかせるんじゃね
595 名前:nobodyさん [2006/11/05(日) 22:44:36 ID:tB4jjHhC] いつになったら完成するんだ!!
596 名前:nobodyさん mailto:sage [2006/11/06(月) 01:45:05 ID:???] 明日仕上げます!
597 名前:nobodyさん [2006/11/06(月) 22:24:47 ID:wVlTk8ia] 明日キタ━━━━(゚∀゚)━━━━!!
598 名前:nobodyさん mailto:sage [2006/11/06(月) 22:58:07 ID:???] 完成しないとPerl6でないんだから、よほどのことがない限りでることはでるんじゃないの? でもおそい
599 名前:nobodyさん mailto:sage [2006/11/06(月) 23:00:44 ID:???] pc8.2ch.net/test/read.cgi/php/1162721943/ 動き無さ杉
600 名前:nobodyさん mailto:sage [2006/11/06(月) 23:18:17 ID:???] おいmod_parrotって... アセンブラ言語で書けってか? JITコンパイラ有るなら速度面でも価値は低いし
601 名前:nobodyさん mailto:sage [2006/11/07(火) 01:17:26 ID:???] 3getさえないのにワロタwwwwwwwwwwwwwwwwww
602 名前:nobodyさん mailto:sage [2006/11/08(水) 03:15:19 ID:???] >>600 72.14.253.104/search?q=cache:Y3kWD19pEecJ:pc8.2ch.net/test/read.cgi/php/1065599868/443-543
603 名前:nobodyさん mailto:sage [2006/11/08(水) 21:21:02 ID:???] >>602 mod_parrotってmod_perlから呼び出されるバックエンドという理解でおk? それならmod_parrotだから変わるっていう部分は少なくないか? 一定の速度向上以外は全く思いつかね
604 名前:nobodyさん mailto:sage [2006/11/10(金) 00:45:33 ID:???] > 現在開発中のPerl6インタプリタエンジンParrot。 > ParrotはCLR(Common Language Runtime)であり、 > ParrotアセンブラにコンパイルできればPerl6のみならず、 > Python、Ruby、PHPをはじめ、JavaもC#も、Basic、Scheme、 > その他の言語なんでもいける・・・ようになるかも!? > mod_parrotができれば速度面でも問題無し! > そんな夢のような言語/VMであるPerl6/Parrotについて語りましょう。 万能インタプリタみたいなこと書いておいて、mod_parrotはないだろ CGI以外でもmod_parrot使うのかね
605 名前:nobodyさん mailto:sage [2006/11/10(金) 00:53:48 ID:???] Javaが挫折したネイティブCPU(補助機能としてのネイティブコードサポートならある) これParrotでできないかな 本物のCPUを模倣したモデルを使っているので、易しいと思うんだが 問題はParrotの普及... ...というかまずスタートorz
606 名前:nobodyさん mailto:sage [2006/11/10(金) 00:56:59 ID:???] >>604 > CGI以外でもmod_parrot使うのかね SpeedyCGIはCGI以外のPerlも代用できる
607 名前:nobodyさん mailto:sage [2006/11/27(月) 18:16:52 ID:???] modなんちゃら〜は速度改善の為のみに存在してると思ってないか?
608 名前:603 mailto:sage [2006/11/27(月) 19:25:05 ID:???] >>607 > modなんちゃら〜は速度改善の為のみに存在してると思ってないか? ApacheAPIへのインターフェイス兼アクセラレータだと思っていますが? がmod_parrotの場合はインターフェースの役目は持ってないでしょう
609 名前:nobodyさん mailto:sage [2006/12/02(土) 18:58:11 ID:???] FastCGIでのMoinMoinを ssk.jugem.jp/?eid=15 を参考に動かそうとしているのですがInternal Server Errorで動きませんorz。 Apacheのログを漁ると (13)Permission denied: FastCGI: can't create (dynamic) server "/home/wiki/public_html/moin.fcg": bind() failed [/etc/httpd/logs/fastcgi/dynamic/dce2b2d6779742810fd0c7f812ee16e5] とあるのですが、いまいち意味が分かりません。 環境はCentOS4.4です。 他に質問スレが無かったので、こちらで質問させて頂きました。 どなたかご教授お願いします。
610 名前:nobodyさん mailto:sage [2006/12/02(土) 22:58:31 ID:???] 背伸びする必要ないんじゃない?
611 名前:nobodyさん mailto:sage [2006/12/03(日) 00:04:12 ID:???] おまいら久々に新しいの出てますよ mod_perl 2.0: Version 2.0.3 - November 28, 2006 perl.apache.org/download/index.html
612 名前:nobodyさん mailto:sage [2006/12/03(日) 00:23:05 ID:???] ところでメモリ,メモリとほざいている奴は,これを試したのか? search.cpan.org/~pgollucci/mod_perl-2.0.3/docs/api/Apache2/SizeLimit.pod
613 名前:nobodyさん mailto:sage [2006/12/03(日) 02:18:17 ID:???] >>612 試したの?
614 名前:nobodyさん mailto:sage [2006/12/03(日) 15:23:04 ID:???] >>613 見ただけじゃねえ? >>612 で、どれくらい良くなった?
615 名前:nobodyさん mailto:sage [2006/12/03(日) 15:28:26 ID:???] >>609 /etc/httpd/logs/fastcgi/dynamic/が無いか、パーミッションが無いんじゃねえ?
616 名前:615 mailto:sage [2006/12/03(日) 16:04:25 ID:???] もし/etc/httpd/logs/fastcgi/dynamic/があり所有者がApacheになっているなら、FastCGIの実行者がwikiだから書き込めないんじゃねえ? /home/*/public_html/じゃない場合FastCGIは動くの?
617 名前:nobodyさん [2006/12/24(日) 00:03:00 ID:5VuL7TZS] 質問なのですが、解れば教えてください。 apache2 + mod_perl2.0.2 + catalyst5.7006 にて、 仮想ディレクトリ上だけCatalyst環境で構築したいのですが、 下記のように書くとDocumentRoot以下にある SpeedyCGI向けに書かれたソースの動きが変になってしまいました。 どのように設定すれば解決できますか? httpd.conf-------------------------------------- PerlSwitches -I/var/www/Hello/lib PerlLoadModule Hello PerlTransHandler Hello <Location /Hello> PerlSetEnv Hello_DEBUG 0 SetHandler modperl PerlResponseHandler Hello </Location>
618 名前:nobodyさん mailto:sage [2006/12/24(日) 02:17:10 ID:???] >>617 ttp://d.hatena.ne.jp/dayflower/20060510/1147260763 ?
619 名前:nobodyさん [2006/12/24(日) 12:56:06 ID:5VuL7TZS] >>618 PerlLoadModule Hello PerlTransHandler Hello を外したらうまく行きました。ありがとうございます。 動いたけど全くもって理由がわかりませんw
620 名前:nobodyさん mailto:sage [2006/12/24(日) 14:51:36 ID:???] サブテカがいるすれはここですか?
621 名前:nobodyさん mailto:sage [2006/12/27(水) 11:30:45 ID:???] ,,_yyrl|_._. . ,ー,,エ(フ个 ¨゙.巛r.r _)()|「リlll|,エ,, _,,,,,,,,,〔 ilァ.爻)ll(''ト'リ》ll!h/′ ''゙¨¨¨゙冖''_,._ _yr!'゙》||/||》ミ|||W'〕u彡 .ノ‐ .′,z厂′ _,彡l|'l《》「⌒Wl|リi|i{ノ巛r, .^.゙' 、ミ|》 .ー¨7リフミ.|Mllyii'|yl!.干zz| (z、u..彡゙「゙.┘ ._yil|ミ)《l!|》!|il》lリli|||zz|¨;;ll《《リ}l|.┘ v.|ト .ー″,,iトリ「|レ「〕:|/リlll!|z|ト厶|,.厶 冖 r y ll|゙.ll|ili|トz||:iト /|《;li《z|》リ||,}゙ _yrl|レr . .__y-トミ「゙川lyl)彡《i.ノ》|レ「)「「ll||゙)ミ)rl! ¨/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,z厂 .^.「゙》!「 `.r厂|′ 《》リ,||}″< ¨′ ,l.フ|′ .r! .「|ll|フ^、 | どうでもいい `,〕 i!.,, .‐!ll,. .' .,i!||リ \____________ ″y .″ _,r;yミ,|″
622 名前:nobodyさん mailto:sage [2007/02/15(木) 01:20:19 ID:???] SpeedyCGIを使うときに、グローバル変数を初期化する 必要があるということですが、どういうことでしょうか。 i=0; i++; i++; i++; i++; i++; print("i"); グローバル変数iを一つずつ増やしているだけです。 i=0;で初期化しているので大丈夫でしょうか? 普通5がprintされると思いますが、初期化しないで 何回も実行すると、どんどん加算されて5以上の数字が表示されますか?
623 名前:622 mailto:sage [2007/02/15(木) 02:33:34 ID:???] 622です。 SpeedyCGI入れて自分でも試してみたいと思います。 また、なにかありましたらよろしくお願いします。
624 名前:nobodyさん mailto:sage [2007/03/02(金) 14:17:29 ID:???] 実際にやってみればいいじゃん
625 名前:nobodyさん mailto:sage [2007/03/03(土) 22:18:22 ID:???] FastCGIでディスパッチする際、リクエスト毎にスレッドを作成してばらばらの順番に応答を返す ということはFastCGIの仕様的には可能なんでしょうか?
626 名前:nobodyさん mailto:sage [2007/03/03(土) 22:49:26 ID:???] FastCGI なアプリは常駐するわけだが。
627 名前:nobodyさん mailto:sage [2007/03/03(土) 23:05:20 ID:???] >>626 ?それは分かってます。 常駐するプロセスにリクエストが(Unixドメインソケットあるいはソケットを介して)飛んでくるのが FastCGIの仕様だと理解してますが、そのリクエストへの応答は、必ずリクエストが飛んできた 順番に応答しないといけないのかどうかが知りたいのです。 一応ドキュメントにはマルチスレッドでも可能的なことが書いてありましたが…
628 名前:nobodyさん mailto:sage [2007/03/04(日) 04:51:01 ID:???] >>627 >>1 のマニュアルFAQに書いてある事じゃなくて?
629 名前:nobodyさん mailto:sage [2007/03/04(日) 12:19:12 ID:???] >>628 FAQに目を通しましたが該当する記事は見当たりませんでした。 で、報告なんですが、Pythonにはマルチスレッドで動作するFastCGIアダプタが存在する 事から、ディスパッチャのマルチスレッド化は可能なようです。 ですがアダブタが存在するのくだりから推測できるように、アダプタが対応していないと マルチスレッド化できません。(当方Rubyを使用する予定ですので、Rubyのアダプタで試して みましたが、ムリでした) アダプタをハックするにはFastCGIの仕様の理解が必要なこともあり、断念することにしました。 どうもありがとうございました。
630 名前:nobodyさん mailto:sage [2007/03/05(月) 13:38:09 ID:???] こちらこそ参考情報ありがとう
631 名前:nobodyさん [2007/05/26(土) 20:01:40 ID:7SKqsTBy] Perl6でもSpeedyCGIは使えたらなぁ
632 名前:nobodyさん [2007/05/28(月) 22:48:45 ID:A9llIuWJ] SpeedyCGIの -r オプションて、 回数に達したら、全backgroundが再起動するんかな? それとも一backgroundごと?
633 名前:nobodyさん mailto:sage [2007/05/29(火) 06:59:20 ID:???] 1background毎だと思っていたが…違うのか?
634 名前:nobodyさん mailto:sage [2007/06/01(金) 20:02:10 ID:???] すみませんがが、お知恵を拝借。 Apache2+mod_perl2 で、 my %List; $List{$key} = { a=>1,b=>2,c=>1} ... なんて連想配列作って、 sub listsort { my $r = $List{$a}{a} <=> $List{$a}{b}; if ($r == 0) { $r = $a cmp $b; } return $r; } foreach my $k (sort listsort keys(%List)) { # codes } のようにソート関数かませて、配列の中身でソートする様にしたんだけど、 ソースを変更して、1回目の実行ではリファレンスが正しくソート関数に届くのに、 2回目以降は届かなくなります。 これって、使い方が間違ってるんでしょうか? Reload の設定ミス? RHEL ES4 + Apache2.0.52 + mod_perl 2.0.3(tar install) openSUSE 10.0 + Apache 2.0.54 + mod_perl 2.0.1(rpm) どちらも同じ現象なので、プログラムじゃないかと思うんだけど、改善できなくって。
635 名前:nobodyさん mailto:sage [2007/06/04(月) 12:03:46 ID:???] listsort() がどの名前空間に宣言されているのか不明だし それが原因かどうかは分からんけど… その程度のソート内容なら for my $k (sort { $List{$a}{'a'} <=> $List{$b}{'b'} || $a cmp $b } keys %List) { でよくね?
636 名前:634 mailto:sage [2007/06/05(火) 05:13:19 ID:???] >635 listsort の中には、3段位の比較を入れる予定。 listsortの宣言は、関数内です。 sub func { sub listsort { } } ちょっと長いけどインラインにしてみるっす。
637 名前:nobodyさん mailto:sage [2007/06/28(木) 02:38:24 ID:???] 通常のPerlとSpeedyCGIを箱庭諸島R.A JSを使って比べてみた (島の数は0) トップページの表示しか載せないが 普通のPerlだとCPU時間が0.09〜 SpeedyだとCPU時間が最短0.01(大体0.03以上) になってワロタ
638 名前:nobodyさん mailto:sage [2007/07/06(金) 23:07:39 ID:???] >>637 普通普通
639 名前:nobodyさん mailto:sage [2007/07/12(木) 06:21:48 ID:???] mod_perlを導入したのですがカレントディレクトリがApacheのディレクトリになってしまい スクリプトのあるディレクトリがカレントディレクトリであると想定して書かれてるプログラムが動かなくなりました。 カレントディレクトリをスクリプトのディレクトリに変更する方法はありませんか? 環境はWindowsXP+Apache2.2.4です。
640 名前:nobodyさん mailto:sage [2007/07/12(木) 10:31:57 ID:???] >>639 adiary.blog.abk.nu/07
641 名前:nobodyさん mailto:sage [2007/07/12(木) 19:02:43 ID:???] >>640 どもども やってみます
642 名前:nobodyさん mailto:sage [2007/07/29(日) 22:25:25 ID:???] FC6でSpeedyCGI-2.22をソースインストールしようとしたら mod_speedycgi2などでエラーがでて失敗しました。 FC1ではうまくいったんですが・・・。FC6で何か足りないものが あるのでしょうか?
643 名前:nobodyさん mailto:sage [2007/07/30(月) 17:48:02 ID:???] >>642 ttp://dries.ulyssis.org/apt/packages/perl-CGI-SpeedyCGI/info.html これはどう?
644 名前:nobodyさん mailto:sage [2007/07/30(月) 22:09:00 ID:???] >>643 ありがとうございます。やってみたら、そのようなグループ、ユーザーは いません、rootを使います〜と言うのが出て、その後、パッケージごとに すでにインストールされているファイルと競合するので終了するような メッセージがでて完了出来ませんでした。 rpmの、競合するファイルを無視してインストールするオプションというの があればと思うのですがスイッチがわからないのでまだ試して無いです。
645 名前:nobodyさん mailto:sage [2007/08/01(水) 23:29:07 ID:???] >>642 FC6では試してないが、CentOS5では、 rt.cpan.org/Public/Dist/Display.html?Name=CGI-SpeedyCGI にあるpatchを一通り当てたら問題なくcompile出来た。
646 名前:nobodyさん mailto:sage [2007/09/13(木) 01:31:18 ID:???] >>639 さんじゃないんですが、mod_perl2でカレントディレクトリの 設定を変更後、DBI::SQliteのdbnameだけは絶対パスを 入れなきゃ動きません…そういうもんなんでしょうか? Apache 2.2.4+ActivePerl 5.8.8+mod_perl2
647 名前:nobodyさん mailto:sage [2007/09/13(木) 04:52:15 ID:???] mod_perl2はカレントディレクトリがスクリプトのあるディレクトリにならないから preforkならchdirしたりCGIのエミュ代わりならModPerl::RegistryPreforkやModPerl::PerlRunPreforkを 使うとカレントディレクトリがそのスクリプトのディレクトリになるから相対パスで書けない事もない workerの場合chdirが使えないというか使えるけど他のスレッドにも影響がでてしまうので危険 というわけでどちらにしても絶対パスで書いておくのが無難
648 名前:nobodyさん mailto:sage [2007/09/14(金) 13:55:09 ID:???] >>642 >>645 FCやCent使ってるなら RPMforgeを入れて yum -y perl-CGI-SpeedyCGI で入れたほうが簡単じゃない?
649 名前:nobodyさん mailto:sage [2007/09/14(金) 14:03:52 ID:???] >>648 yum -y install perl-CGI-SpeedyCGI ^^^^^^ でした。
650 名前:nobodyさん mailto:sage [2007/09/14(金) 18:42:10 ID:???] やあみんな、FastでSpeedyでmodなperlライフをおくってるかい? ところで、最近UpdateしたApache2.2.6と2.0.61でちゃんとmod_perl動いてる?
651 名前:nobodyさん mailto:sage [2007/09/14(金) 20:17:24 ID:???] >>650 試して報告してくれよん
652 名前:650 mailto:sage [2007/09/15(土) 03:58:09 ID:???] やあやあ、 実はWin32環境で2.2.6、2.0.61ともに自前でビルドしたやつに、 これまたCPANよりGetsして来た2.0.3tarボールから自前コンパイルしてみたんだが、 ちゃんと動かねえんだよ。 具体的にゆうと、Loadmodlueでmod_perl.soしてやったとき、通常にStartUpした様に見える。 で、普通のHTMLとCGIPerlとPHPはちゃんと動くんだけど、Locationでmod_perlってるディレクトリの ファイルをリクエストしたら、急にApacheがハングしてしまう。 ブラウザの画面に 「Internet Explorer ではこのページは表示できません 可能性のある原因: インターネットに接続されていない。 Web サイトに問題が発生している。 アドレスに入力の間違いがある可能性がある。」 が表示される。(Apacheをkillした時にlocalhost/ 叩いた時と同じ表示) ちなみにこの時、他のmod_perlでないページは正常に表示される。
653 名前:650 mailto:sage [2007/09/15(土) 03:58:47 ID:???] つづき この時のerror_logの表示は Error in my_thread_global_end(): 252 threads didn't exit [Sat Sep 15 02:47:35 2007] [notice] Parent: child process exited with status 9 -- Restarting. [Sat Sep 15 02:47:35 2007] [notice] Apache/2.0.61 (Win32) PHP/5.2.1 mod_perl/2.0.3 Perl/v5.8.8 configured -- resuming normal operations こんな感じ。 これみると、どおやらmod_perlなファイルにリクエストした時、なぜかApacheが再起動掛かってる模様。 ちなみにこの状態のままでも他のファイル(staticHTML,PHP,PerlCGI)は通常どおり表示される。 (access_logに記録もされてる。mod_perlなリクエストだけが欠落。) あと、標準module(mod_auth,mod_alias,mod_rewrite等)の機能もちゃんと動作する。 さらにこの状態の時にStop(コンソールからCtrl+C)かけると,一旦通常に終了処理が終わったように見えるけど、 タスクマネージャ見ると、Apacheのプロセスが起動したままの状態。 この時のerror_logの内容は Error in my_thread_global_end(): 1 threads didn't exit ocess is running 上のエラーと同じ内容だけど、thread1なとこを見ると親プロセスか?? その下に多分"Process"だとおもわれるメッセージの断片が・・・。
654 名前:650 mailto:sage [2007/09/15(土) 03:59:18 ID:???] つづき2 そんなこんなで何回か起動、再起動等を繰り返してると Winの強制終了のポップアップが出て終了。 そのときのerror_logには、 [Sat Sep 15 02:54:21 2007] [notice] Apache/2.0.61 (Win32) PHP/5.2.1 mod_perl/2.0.3 Perl/v5.8.8 configured -- resuming normal operations [Sat Sep 15 02:54:21 2007] [notice] Server built: Sep 15 2007 02:27:44 [Sat Sep 15 02:54:21 2007] [notice] Parent: Created child process 3412 [Sat Sep 15 02:54:23 2007] [crit] master_main: create child process failed. Exiting. [Sat Sep 15 02:54:23 2007] [error] (OS 6)ハンドルが無効です。 : Parent: SetEvent for child process 0 failed これ。 今までで[crit]なんかはじめて拝んだ。 前のレスのエラーは100%再現する。こっちのエラーはいまいち再現性がない(5回〜10回に一回くらい) ちなみに上のは、2.0.61だけど、2.2.6でも全く同じエラーが出る。(当然そのときは、mod_perlを2.2用にrebuild) theory58Sのコンパイル済みppmでも、エラー内容同じ。(2.0,2.2両方) 逆に、2.2.6と2.0.61のincludeとLibsでコンパイルしたmod_perl.soとライブラリ一式は、 2.2.4、2.0.59で両方正常に動く。(公式msiバイナリと自前ビルド両方とも試した。どっちも問題なし。)
655 名前:650 mailto:sage [2007/09/15(土) 03:59:51 ID:???] つづき3 公式とかによると、APRとAPR-utilのバージョンがあがってるようなんで、 これのせいかとかも思うけど、公式のML等ではこの話題でず。 (なんか違うバグ出たみたいで、早くも2.2.7かって話も出てる) perl.apache.orgのほうもこれに関する話題なし。 ちなみに”Loadmodule mod_perl.so”をコメントアウトすると何事もなかったかのように動いてる。 環境は WinNT 5.1 VC2005 sp1 + nmake (Ver 8.00.50727.762) Active perl 5.8.8-build822 あと、コンパイルオプションは無し(Makefile.winそのまま) 上にも書いたけど、全く同じコマンドで2.2.4と2.0.59は特に問題なくビルド出来た。 そのときの警告とかは、2.2.6or2.0.61のときと全く同じ(型変換うんぬんと、無効なオプションです。無視しますってやつ) 何度コンパイルし直してもこんな状況なんで、ここの猛者どもはどうなんかいの〜?って思って聞いてみた。
656 名前:nobodyさん mailto:sage [2007/09/15(土) 11:11:36 ID:???] colinux + CentOS で静的に入れてみたけど ログ見ても今のところは問題ないように見える
657 名前:650 mailto:sage [2007/09/15(土) 17:59:20 ID:???] >>656 そうですか。 実はうちも本番環境はFC or CentOSで組もうかと思ってる。 (今それ用のマシンを自作中。パーツがまだ揃ってない。今稼働中のマシンは2.2.4で動いてるけど止められない。) で、とりあえずWinでテスト環境作ろうと思ってやってみた訳なんだが、つまずいてしまった。 for Unixだと問題ないのかな? とりあえずもう一台組みあがったらfor Unixのソースでもう一回試してみる。
658 名前:nobodyさん mailto:sage [2007/09/15(土) 21:00:36 ID:???] 開発やテスト環境ならvmwareなりcolinux入れておけばいいじゃない
659 名前:nobodyさん mailto:sage [2007/09/19(水) 11:10:07 ID:???] どうもmod_perlのプログラミングについて今一わからないんですが、 要は、while(1){}の中でコーディングしてlastで終了するような プログラム書けばOKってことでしょうか?
660 名前:nobodyさん mailto:sage [2007/09/19(水) 16:11:40 ID:???] でんでんちがう
661 名前:nobodyさん [2007/10/10(水) 15:18:22 ID:/zGydDSw] mod_perlの弱点つーか いまいちperlがphpより普及しない理由として 常駐することがあると思うんだけど、 mod_phpみたいに常駐しないバージョンを開発するつもりないのかねー てかmod_phpっぽい動作にする方法あったら教えて えろい人
662 名前:nobodyさん mailto:sage [2007/10/10(水) 15:30:16 ID:???] >>661 >>660
663 名前:nobodyさん mailto:sage [2007/10/10(水) 19:03:11 ID:???] 日本語でおk
664 名前:nobodyさん mailto:sage [2007/10/11(木) 03:09:21 ID:???] で常駐しない方法ってあるん?
665 名前:nobodyさん mailto:sage [2007/10/11(木) 03:43:39 ID:???] mod_の意味わかってる?mod_だよ。 逆にmod_でない(常駐しない)phpなんか・・・・。
666 名前:nobodyさん mailto:sage [2007/10/11(木) 03:59:24 ID:???] mod_の意味ってわからないけど、プロセス常駐とApacheのモジュールとは関係ないと思うけど。fastcgiなんかだと外部プロセスに出来るわけだし。 ま、ウェブアプリと言ってもさまざまだけど、mod_phpで十分というかちょうどいいという感じはする。 リクエストごとに消えてくれるからメモリリークを心配せずによく、運用が簡単。 もっともPHP(mod_php)もバージョンが上がる度にリソース消費が激しくなってるけど。 何でPHP4をディスコンティニューするのか。PHPの開発者のすることは分からんね。
667 名前:nobodyさん mailto:sage [2007/10/11(木) 05:11:31 ID:???] う〜ん君が言ってるのは、常駐うんぬんのことではなくて、要はメモリ消費のことでしょ? mod_phpだってapacheプロセスとして常駐してるんだが・・・。 確かにmod_perlはそれに比べてメモリ消費が激しいのと、並列度を高めるとパフォーマンスダウンが著しい(特にpreforkなんかは) それはここの上のほうでも散々言われてることだから、Fastやspeedyなんかが話題になってるわけだし。 でもそれは>>661 で言ってるみたいにプロセスに常駐するかどうかが問題なわけではなくて、 そのリソース消費とパフォーマンスとの兼ね合いであって、まるでmod_phpが常駐しないみたいな言い方してるから >>660 だって言われてるんでしょ。
668 名前:nobodyさん mailto:sage [2007/10/11(木) 15:19:36 ID:???] >>667 >>666 いや常駐ってmod_なら常駐するってのはわかってるってよ スクリプトとかライブラリの常駐の話 mod_phpは実行してもスクリプトは常駐されないでしょ perlrunでもuseとかrequireされたライブラリは常駐するよね? その辺の話 自分専用サーバで使う分にはいいけど、mod_phpみたいにレンサバでも利用できるようにならないと 実質レンサバとかだとphpはperl(cgi)より速いって事になってるんじゃねって事
669 名前:nobodyさん mailto:sage [2007/10/11(木) 15:33:05 ID:???] 常駐ってか永続化 persistentだな すまん 言いたいことは >>666 のリクエスト以降の話でっす
670 名前:nobodyさん mailto:sage [2007/10/11(木) 17:38:08 ID:???] persisitence ではなくて cache だから、 単にキャッシュでいいんじゃなかろうか。
671 名前:nobodyさん mailto:sage [2007/10/11(木) 18:19:21 ID:???] mod_phpみたいにインタープリタのオーバヘッドだけ解消できるモードがあれば Perlもそこそこシェア守ってたかもね。権限なんかは利便性の二の次なのかな。
672 名前:nobodyさん mailto:sage [2007/10/11(木) 18:46:42 ID:???] とりあえずPerlを馬鹿にしとけば自尊心が保たれるみたいな
673 名前:nobodyさん mailto:sage [2007/10/11(木) 20:21:51 ID:???] >>668 > スクリプトとかライブラリの常駐の話 > mod_phpは実行してもスクリプトは常駐されないでしょ > perlrunでもuseとかrequireされたライブラリは常駐するよね? その辺の話 そういう方面の話か。だったら常駐とかプロセスとか紛らわしい言い方するなよ… で、mod_perl が使いにくいのはその通りで、 だから FastCGI や SpeedyCGI が話題になってるんだろ > てかmod_phpっぽい動作にする方法あったら教えて えろい人 SpeedyCGI 使え SpeedyCGI
674 名前:nobodyさん mailto:sage [2007/10/12(金) 00:42:05 ID:???] みんなどうもです 結局FastCGIかSpeedyCGIって事か… Catalystが動くかしらべてみっかな
675 名前:nobodyさん mailto:sage [2007/10/13(土) 16:39:43 ID:???] mod_perlならデフォで付けられる程安定/サポ有りモジュールだから間違いはない。 ビジネスするとこならまず選ぶ選択股であるのは当たり前。 amazon, mixi, hatena, livedoor, accessup ... 2chの話よりまず事例に従った方がミスはないと思うけどね。