[表示 : 全て 最新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/

ー二三ヘ( ゚∀゚)ノ

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の話よりまず事例に従った方がミスはないと思うけどね。



676 名前:nobodyさん mailto:sage [2007/10/13(土) 19:36:24 ID:???]
mod_perlは重い。HTMLやCSS,画像用に別にウェブサーバを用意しないといけない。一部の巨大なウェブサイトならリソースがふんだんにあるだろうけど、多くはそうじゃない。

677 名前:nobodyさん mailto:sage [2007/10/13(土) 20:51:37 ID:???]
なんでそこまでして大規模サイトに
スクリプト言語を使いたくなるのだろうねえ

678 名前:nobodyさん mailto:sage [2007/10/13(土) 21:03:55 ID:???]
mod_perlって高負荷時に安定はしないんじゃね?
mixiはDBの方がネックだったらしいから大丈夫だったっぽいけど。

679 名前:nobodyさん mailto:sage [2007/10/14(日) 14:39:13 ID:???]
別にサーバー用意しなきゃいけないは伝説。
超余裕環境が最高効率を目指すだけの技。
立ち上がるhttpdを3つ位までにしてworkerで動かせばメモリーの消費は抑えられて十分だよ。
preforkで立ち上げるからメモリーを馬鹿みたいに使って高負荷時にメモリーが無いと騒ぐことになる。

そもそもそこにボトルネックは
・プログラムをいかにhtmlにするか
・ファイルをいかにメモリーにおくか
・そしてmixiのようにdbをどうするか
のようなCPU/IO/ネットワークまわりの基本レベルの選択が問題。

スクリプト言語といっても実行している時にはスクリプトの状態ではないのだから、
開発効率を考えればスクリプトを選ぶのは当たり前。
速度が必要な時にApache Moduleの世界に一部入る(greeとか)という選択肢があれば良い。




680 名前:nobodyさん mailto:sage [2007/10/14(日) 14:42:58 ID:???]
x: そもそもそこにボトルネックは
o: そもそもそこよりボトルネックは


681 名前:nobodyさん mailto:sage [2007/10/14(日) 19:32:01 ID:???]
事例多い → mod_perl
mod_perl より速い → FastCGI
さらに速い → mod_speedycgi
root いらずで手軽 → SpeedyCGI
要は使い分けじゃね?

俺は手軽さが魅力だったので SpeedyCGI を選んだ。

682 名前:nobodyさん mailto:sage [2007/10/14(日) 21:00:07 ID:???]
root権限、Apache 管理者権限なしでSpeedyCGIを導入する方法がわからん。
助けてえろい人。

683 名前:nobodyさん mailto:sage [2007/10/14(日) 21:05:14 ID:???]
>>682
Apache管理者権限って何?
つ、普通に入れられないのか?

684 名前:nobodyさん mailto:sage [2007/10/15(月) 12:38:49 ID:???]
サーバにシェルログインする。
SpeedyCGI をユーザホームディレクトリ配下にインスコする。
以上

685 名前:nobodyさん mailto:sage [2007/10/15(月) 15:54:12 ID:???]
>>681
mod_perl で効果的に ithread 使うのが一番速い。
FastCGI だとスレッドの恩恵が少ない。

レンタルサーバだと一定時間を越えて動作するプロセス
情け容赦なく kill されるので
SpeedyCGI は利用できないと思った方が無難。
(SpeedyCGI に限らないが。)

686 名前:nobodyさん mailto:sage [2007/10/15(月) 16:30:46 ID:???]
use threadは使い物にならなかったけどuse ithreadは使いものになるのか。
今度試してみよう。
この板見て初めての収穫。


687 名前:nobodyさん mailto:sage [2007/10/15(月) 16:32:14 ID:???]
x: use thread / o:use threads

688 名前:nobodyさん mailto:sage [2007/10/15(月) 16:51:46 ID:???]
せめて試してから収穫かどうか判断しろよ

689 名前:nobodyさん mailto:sage [2007/10/15(月) 18:07:12 ID:???]
Apache が worker 動作してるなら試してみる価値はある。
一方で lighttpd + fastcgi で十分じゃないかと言う話も。



690 名前:nobodyさん mailto:sage [2007/10/15(月) 22:42:23 ID:???]
>>684

>SpeedyCGI をユーザホームディレクトリ配下にインスコする。

わからん。。。。。。。
普通にmakeしてもダメだろ?

691 名前:nobodyさん mailto:sage [2007/10/16(火) 00:58:26 ID:???]
>>686
Perl で ithread を使うための宣言が use threads だろ。
同じ物だよ。

>>690
「CPAN ホームディレクトリ」でググれ。
cpan コマンド使わずに手動でインスコするなら perl Makefile.PL PREFIX=$HOME とか

692 名前:nobodyさん mailto:sage [2007/10/16(火) 10:52:05 ID:???]
まじ?
それだったら期待できないな。
過去の経験からいえばperlのthreadsはメモリーの扱い下手過ぎ(過消費)。
スワップまでの寿命がかなり短くなる。


693 名前:nobodyさん mailto:sage [2007/10/16(火) 12:36:40 ID:???]
スクリプト言語は開発効率が高いって本当なの?
企業としては開発効率以外にも見るべき所があるでしょ

694 名前:nobodyさん mailto:sage [2007/10/16(火) 12:47:07 ID:???]
>>692
5.005 の thread (use Thread;) と 5.6 以降の ithreads (use threads;) は違う。
後者の場合も注意して作らないとメモリをジャブジャブ使うのは変わらないが。

>>683
場合によりけりだろう。
一般的には規模が大きくなればかえって効率下がることになってる。
個人的には規模が小さくても型付けの弱い言語は開発効率が低いと感じる。

695 名前:nobodyさん mailto:sage [2007/10/16(火) 16:20:31 ID:???]
そういう意味だったら試したのはithreadの方だったと思う。
でも、多分
Interpreter threads are different from "5005threads"
(the thread model of Perl 5.005)
by creating a new perl interpreter per thread and not sharing any data or state between threads by default.
とあるとおり、スレッド毎にinterpreter分のメモリーをガンって増やすから、凄いことになっちゃったのかな。
mod_perlだともしかしてこのinterpreter分が節約できるのか?
自分はコマンド用途で試してたから増え方にビックリしたんだけど。


696 名前:nobodyさん mailto:sage [2007/10/16(火) 16:50:51 ID:???]
ごめん。685 の文からしておかしかった。

mod_perl (2.x) は ithread を内部的に使ってる、だった。
で、プロセス毎に上限の設定されたスレッドプールで使いまわしてる。

697 名前:nobodyさん mailto:sage [2007/10/17(水) 16:52:12 ID:???]
mod_perl重いって話けっこうあるし、画像用の別サーバとか
普通ってかあたりまえな気はする。
別サーバといっても同じマシンに別のApache立ち上げるだけでいいわけだし
mod_phpにしてもメモリ食いだし、静的ファイル用に別サーバ用意するのは当たり前だとおもってたけどな・・
それで重いといわれても〜

698 名前:nobodyさん mailto:sage [2007/10/17(水) 16:54:27 ID:???]
あと開発効率はめちゃ高いと思うぞ
大規模なサイトでも機能ごとにちゃんと分けてあげたり普通につくれば普通に便利。
てか体が慣れてるので俺の中ではウェブ系はPerl以外ありえない


699 名前:nobodyさん mailto:sage [2007/10/17(水) 16:56:24 ID:???]
あとまったくすれ違いだけどphpってphp.iniで文字コード制御とかありえねーなといつも思う
と独り言




700 名前:nobodyさん mailto:sage [2007/10/17(水) 17:16:43 ID:???]
静的ファイルの話するには100番くらいレス戻さないとダメだが。

静的ファイルで速度出したいなら lighttpd も良い選択だと思われ。






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

前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