06/07/03 12:04:55
>>444
> Speedyが同時多発接続でgdgdになってきてるのはエビに食われてるからだと思うんだよね。
んだな。
が、他クライアントをつなぐと今度はNICにCPU食われる。
結局はNICのCPU消費とどっちが大きいかだけの違いでねえ?
いいんでねえ、localhost。
447:nobodyさん
06/07/03 12:54:22
NIC食うからねえCPU。
URLリンク(www.nicmania.net)
448:nobodyさん
06/07/03 19:21:39
> この初心者スレの存在意義って何だろう?
それは、何だ、Javaと並ぶ巨大宗教Perlの莫大な遺産の活用じゃない。
449:nobodyさん
06/07/03 22:39:17
CPU100%にならないように気をつけながらベンチマークとるのが普通なんだが。
まあ、まるで役にたたないとは言わないが、仕事でやるなら最初からやり直させるな。
450:nobodyさん
06/07/03 22:47:49
はぁ?
451:nobodyさん
06/07/03 22:49:14
ベンチとるときはCPU振り切れるのが普通。
452:nobodyさん
06/07/03 22:49:51
それがベンチ
453:nobodyさん
06/07/03 22:50:43
>>448
つーか、
スレリンク(php板)
あたりに書くつもりだった誤爆じゃない?
書き込み時刻を見ると、なんとなく辻褄が合う。
スルーしなくっちゃ。
ここのスレは、おそらく住人が10人以下の人里離れた小さな村。
普通の初心者は近付かない。
454:nobodyさん
06/07/03 22:56:10
>>449
> CPU100%にならないように気をつけながらベンチマークとるのが普通なんだが。
処理をフル回転で速く終わらせ、スコアを競うのがベンチマークw
455:nobodyさん
06/07/03 23:04:14
>>453
センセー、質問。
「なぜに他のスレとの辻褄まで調べてるんですか?」
456:nobodyさん
06/07/03 23:06:38
だから、クライアントのCPUが100%にならないように、に決まってるだろ。そんなのいちいち説明しなくてもわかりそうなもんだが。
457:nobodyさん
06/07/03 23:06:39
>>455
調べる事が好きだから。
458:nobodyさん
06/07/03 23:09:05
>>456
>449のカキコでは誰もそうは思わんよ。
459:nobodyさん
06/07/03 23:11:27
>>457
一番スルーしてなくない?
460:nobodyさん
06/07/03 23:12:36
>>459
若干の自己矛盾を感じている。orz
461:nobodyさん
06/07/03 23:15:01
>>460
ウケルー
メチャ、センスある
462:nobodyさん
06/07/04 02:20:16
>447のサイトのメインP、Pen4 2.4Gだよ。
エビとニクどっちが食うんだろう?
463:nobodyさん
06/07/04 02:21:17
↑メインP→メインPC
464:nobodyさん
06/07/05 12:19:01
マシンのベンチを取るスレはここですか?
465:nobodyさん
06/07/05 18:20:09
↑ベンチをすれば当然マシンのベンチでもあるなw
466:nobodyさん
06/07/06 02:34:15
>>445
>ちなみに、Hello Worldでテストする分には、mod_speedycgiより、PHPの方が速いんですが、
PHPの環境は?まさか普通のapacheモジュール版と比較したりしてないよね?
467:nobodyさん
06/07/07 20:11:33 hqAFRSkq
WebProg板のスレだというのに、1日書き込みがないだけで気になる。
468:nobodyさん
06/07/07 23:42:15
>>466
まさかの普通のapacheモジュール版ですが、このケースで比較対象として問題あります?
469:nobodyさん
06/07/07 23:55:24
>>468
ノープロブレム。
文脈からして、当然そうだよな。
470:nobodyさん
06/07/08 00:11:01
mod_speedycgiのHello WorldにはCのHello Worldも負けてるのになあ。
471:nobodyさん
06/07/08 11:43:01
>>470
PHPは、短いソースでは速いですね。
ちなみに、apxs -g -n hello とかで出来る、hello worldなソースをmake;make installすると、
私がちょっとテストした環境で、mod_speedycgiの2.5倍程度の速度が出ました。
Cを使うなら、handler書くのが良いのかなと思いました。
そこからすると、mod_perlも、Registry使わずに、handlerな形にすると、順位に変動が
ある様な気もしています。
まあ、アプリが大きくなれば吸収されてしまう差なので、速度の為だけにそうする必要が
あるケースは稀でしょうが。
472:nobodyさん
06/07/08 16:05:57
このスレを見て、MovableTypeでspeedyCGIを使いたいと思って
apache1.3の環境でspeedyCGIを入れ、mt.cgiの先頭を書き換えて実行してみました。
1回目は無事表示されるんですが、リロードするとInternalServerErrorが。
何かインストールで失敗してるんでしょうか…?
473:nobodyさん
06/07/08 16:45:31
ここはそういうスレではないです
474:nobodyさん
06/07/08 18:54:22 uy7Z+OsL BE:341069-#
>>472
mtの前に、hello.cgiとか動かしてみればいいんでないすか。
475:nobodyさん
06/07/08 19:13:56
>>471
何か内容が反対に受け取られてるような気が?
補足すると
mod_speedycgiのHello WorldにはCのHello Worldも負けてるのに
比較対照がノーマルPHPなわけはないだろう。
こう言いたかったのよ。
476:472
06/07/08 19:20:32
>>473
質問スレではないかもしれないとは思ったのですが、
皆さんはかなりお詳しいと思い、悩んだのですが思い切って質問させていただきました。
気分を害しましたら、ごめんなさい。
>>474
レスありがとうございます。
「hello.cgi」というのは、要するにテスト用のcgiを作成して、ということでよろしいですか?
googleなどでヒットするhello.cgiを試しに作ってみて、先頭部分を# !/usr/bin/speedyと
書き換えてみましたところ、無事リロードしても表示されました。
となると、問題はmt.cgiなのでしょうか…?
googleでいろいろ調べまくったのですが、どうも有益な情報が見つかりません。
movabletypeでspeedyCGIを動かしている方々、どうぞお知恵を拝借ください…。
477:nobodyさん
06/07/08 19:56:46
>>476
>1回目は無事表示されるんですが、リロードするとInternalServerErrorが。
グローバル変数の初期化ができてない典型のように思えますが、
そのmtはmod_perlやFastCGIでは正常に動き、SpeedyCGIのみ動かない状態でしょうか?
mtは触ったことがないですが、mod_perlかどうか判定してコードを切り替えているという事は聞いた事があります。
≠mod_perlの判定のためCGI用のコードが実行されている?
後、mtはSpeedyCGIよりFastCGIの方が情報が多いので楽かも。
URLリンク(as-is.net)
ここが有名。
478:nobodyさん
06/07/08 20:47:04 BE:53064623-#
MTのコードちょっと覗いてみたら
mod_perl用に条件分岐しまくりワロタ
479:471
06/07/08 20:48:33
>>475
mod_speedycgiのHello WorldにはCGI/CのHello Worldも負けてるのに
比較対照がCGI/PHPなわけはないだろう。
と言う意味で解釈していたのですが、これで良いんですよね?
処理系の速度としては、C > perl > PHP というのは周知の事実。
PHPが速いと言われるのは、Apacheのmoduleとして動かしているからで、
この起動速度は、PHPが速く、小さいコードでは、その差が効いてPHPが
速い。
この先は触れていないんですが、、コードが大きくなると、処理系の遅さが
効いてきて、perl系に抜かれるという意味で書いてました。
480:475
06/07/08 20:58:10
>>479
すまそ。
正確に把握されてたのね...
481:472
06/07/08 21:07:45
>>477
レスありがとうございます。
FastCGIは試していないのですが、mod_perlをインストールする際にエラーが出て
インストールできなかったので、他の方法がないのかと探していてこのスレへたどりつきました。
ここを見ていると、mod_perlはいまいち評価が高くないように感じ、speedyCGIを試していたところでした。
>グローバル変数の初期化ができてない典型のように思えますが、
まさにそうだと思うのですが、対処法がわかりません…。
参考サイトを見ながら、FastCGIの導入を勉強してみます。
レスどうもありがとうございました。大変助かりました。
482:477
06/07/08 21:22:44
>>481
あえてSpeedyCGIを試すなら、mod_perl判定フラグをtrueにすればいいのではないかと思いますが。
SpeedyCGIとFastCGIはメモリ消費も速度も近いので、楽な方を選ぶべきだと思います。
483:477
06/07/08 21:49:31
>>481
後、忘れていました。
FastCGIはScriptAliasがかかっているDirでは正常に動かないです。
mtのインスコ先にScriptAliasがかかっている場合は外してしまって、
変わりに
Alias /cgi-bin/ "......."
<Location /cgi-bin/>
AddHandler cgi-script .cgi
fastcgi-script .fcgi
.....
</Location>
のような感じで設定したらいいです。
484:477
06/07/08 21:50:32
×fastcgi-script .fcgi
○AddHandler fastcgi-script .fcgi
485:477
06/07/09 00:58:13
後、
×<Location /cgi-bin/>
○<Location /cgi-bin>
もう一つ、
URLリンク(as-is.net)
の通りにやるなら、
AddHandler fastcgi-script .fcgi
これは要らないです。
間違いだらけ、本当にすいません。
486:477
06/07/09 01:02:01
また間違いました。
AddHandler fastcgi-script .fcgi
やっぱり要ります。
連投しまくり、すいません。
487:472
06/07/09 01:17:20
>>477
477さん、いろいろとありがとうございます。
あれからひたすら何度も試しているのですが、実は全然うまくいきません(つД`)
Apache1.3にfcgiとmod_FastCGIを適用させようとしているんですが、エラーが…。
httpd.confに以下の内容を書き込んでapacheを再起動します。
LoadModule fastcgi_module libexec/apache/mod_fastcgi.so
AddModule mod_fastcgi.c
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
FastCGIConfig -maxClassProcesses 4 -minProcesses 1
FastCgiIpcDir /tmp
</IfModule>
すると、
Syntax error on line 206 of /usr/local/apache/conf/httpd.conf:
Invalid command 'LoadModule', perhaps mis-spelled or defined by a module not included in the server configuration
とエラーが返されます。サイトの説明通りにやっているんですが…。
488:477
06/07/09 01:43:44
>>487
> LoadModule fastcgi_module libexec/apache/mod_fastcgi.so
エラーログの指摘だとこの行のエラーですよね。
多分、>487さんの環境では、
LoadModule fastcgi_module modules/mod_fastcgi.so
これでいいんではないかと思います。
489:487
06/07/09 02:10:48
>477さん
いろいろとありがとうございます(つД`)2chでこんなに親切にされたの初めてです。
477さんのおっしゃるとおり試してみたのですが、またエラーが出てしまいました。
明日改めてfastcgiを入れ直してみようかと思います。
それで、もしよろしければこちらの板でずっと続けてしまうと皆さんにご迷惑をおかけしているような
気もしますので、メールで教えていただけませんでしょうか…。
もう、藁にもすがる思いなんです…。
メアド欄にアドレスを入れましたので、もしよろしければお返事ください。
本当にありがとうございました。
490:477
06/07/09 02:17:43
メールしました。
491:nobodyさん
06/07/09 09:09:57 BE:894167699-#
もう放置しろよ
492:nobodyさん
06/07/09 12:41:51
>>489
うまく行ったら、どの辺で引っかかっていたのか、レポートよろ。
493:nobodyさん
06/07/11 14:51:25 EY3GIFAe
mod_perlに移行したら、cronで動かなくなりました。
どうしたらいいんでしょう?
494:nobodyさん
06/07/11 18:03:59
cronで何をうごかしてたん。
495:nobodyさん
06/07/11 21:22:46 EY3GIFAe
>>494
perlです。すいません、自己解決しました。
496:nobodyさん
06/07/12 11:09:51
SpeedyCGIで
CGI::Sessionを使うときに注意すべき点があれば
教えてください。
497:nobodyさん
06/07/12 21:56:44
CGI::Session->flush;
498:nobodyさん
06/07/18 01:51:23
保守
499:nobodyさん
06/07/19 15:16:27
mod-perlでSSIを使いたく、Apache::SSIをインストしたいんですが、
依存でApache::Constantsがないと言われます。
それで、cpanでApache::Constantsをインストしようとすると、
************* WARNING *************
Your Perl is configured to link against libgdbm,
but libgdbm.so was not found.
You could just symlink it to /usr/lib/libgdbm.so.2.0.0
************* WARNING *************
Enter `q' to stop search
Please tell me where I can find your apache src
[../apache_x.x/src]
と警告が二つ出てしまいます。/apache/src なんてどこにもないんだけど、これはなんでしょか?(-o-;
500:nobodyさん
06/07/19 22:40:18
/usr/local/src/apache_x.x/src
とかなんじゃね
501:nobodyさん
06/07/19 22:46:09
全くスレ違いだと思うが、
> ************* WARNING *************
>
> Your Perl is configured to link against libgdbm,
> but libgdbm.so was not found.
> You could just symlink it to /usr/lib/libgdbm.so.2.0.0
Perlがgdbm前提でビルドされているのに、gdbmの実体がみつからない。
/usr/lib/libgdbm.so.2.0.0に実体へのシンボリックリンクを作れ。
> ************* WARNING *************
> Enter `q' to stop search
> Please tell me where I can find your apache src
> [../apache_x.x/src]
qを入力した後アパッチソースのパスを入力しろ。
以上で間違いないと思うが。
502:499
06/07/19 22:51:32 NWioDOXW
# locate apache_
/root/.cpan/build/mod_perl-1.29/src/modules/perl/apache_inc.h
/usr/share/doc/mod_perl-2.0.2/docs/devel/core/apache_integration.pod
/usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_2.diff
/usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_7.diff
/usr/share/doc/mod_perl-2.0.2/docs/user/porting/code/apache_mp3_9.diff
/var/www/icons/apache_pb.gif
/var/www/icons/apache_pb.png
/var/www/icons/apache_pb2.gif
/var/www/icons/apache_pb2.png
/var/www/icons/apache_pb2_ani.gif
/var/www/manual/images/apache_header.gif
なのですが・・・(-o-;
503:499
06/07/19 22:55:32 NWioDOXW
>>501
スレ違い失礼します。。
gdbmの実体とはlibgdbm.soですよね?見当たらないんですが。。(-o-;
gdbmってなんでしょ?調べてきます。perlは問題なく動いてはいるんですが。。
504:501
06/07/19 23:56:28
>>503
gdbmは最も単純なデータベース。
BarkleyDBと似たようなもの。
locate gdbmの結果は?
505:501
06/07/20 00:02:01
>>502
アパッチがディストリのものだと、どうすればいいかはケースバイケース。
自力でググるしかない。
506:499
06/07/20 08:49:55 YgRADElF
>>504
# locate gdbm
/usr/lib/libgdbm.so.2
/usr/lib/libgdbm.so.2.0.0
/usr/lib/python2.4/lib-dynload/gdbmmodule.so
/usr/local/man/man7/maildropgdbm.7
/usr/local/share/maildrop/html/maildropgdbm.html
/usr/local/src/maildrop-2.0.2/gdbmobj
/usr/local/src/maildrop-2.0.2/maildropgdbm.7
/usr/local/src/maildrop-2.0.2/maildropgdbm.html
/usr/local/src/maildrop-2.0.2/gdbmobj/.deps
/usr/local/src/maildrop-2.0.2/gdbmobj/Makefile
/usr/local/src/maildrop-2.0.2/gdbmobj/Makefile.am
/usr/local/src/maildrop-2.0.2/gdbmobj/Makefile.in
/usr/local/src/maildrop-2.0.2/gdbmobj/aclocal.m4
/usr/local/src/maildrop-2.0.2/gdbmobj/config.h
/usr/local/src/maildrop-2.0.2/gdbmobj/config.h.in
/usr/local/src/maildrop-2.0.2/gdbmobj/config.log
/usr/local/src/maildrop-2.0.2/gdbmobj/config.status
/usr/local/src/maildrop-2.0.2/gdbmobj/configure
/usr/local/src/maildrop-2.0.2/gdbmobj/configure.in
/usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj.c
/usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj.h
/usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj2.c
507:501
06/07/20 09:01:09
>>506
通常、
/usr/lib/libgdbm.so.2は
/usr/lib/libgdbm.so.2.0.0へのシンボリックリンク。
#cd /usr/lib
#ln -s libgdbm.so.2 libgdbm.so
で解決するかと。
508:499
06/07/20 09:15:28 YgRADElF
続き
/usr/local/src/maildrop-2.0.2/gdbmobj/gdbmobj3.c
/usr/local/src/maildrop-2.0.2/gdbmobj/libtool
/usr/local/src/maildrop-2.0.2/gdbmobj/stamp-h1
/usr/local/src/maildrop-2.0.2/gdbmobj/testgdbm.C
/usr/local/src/maildrop-2.0.2/gdbmobj/testsuite
/usr/local/src/maildrop-2.0.2/gdbmobj/testsuite.txt
/usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj.Plo
/usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj2.Plo
/usr/local/src/maildrop-2.0.2/gdbmobj/.deps/gdbmobj3.Plo
/usr/local/src/maildrop-2.0.2/gdbmobj/.deps/testgdbm.Po
/usr/local/src/maildrop-2.0.2/maildrop/maildropgdbm.7
/usr/local/src/maildrop-2.0.2/maildrop/maildropgdbm.html
/usr/share/doc/gdbm-1.8.0
/usr/share/doc/gdbm-1.8.0/COPYING
/usr/share/doc/gdbm-1.8.0/NEWS
/usr/share/doc/gdbm-1.8.0/README
/usr/share/doc/man-pages-ja-20060115/translation_lists/GNU_gdbm.translation_list
/usr/share/man/ja/man3/gdbm.3.gz
/usr/share/mime/application/x-gdbm.xml
です
509:499
06/07/20 13:36:45
501さん、色々とありがとうございます。
FedoraCore5なんですが、ググってもそれらしい情報が探し出せない(-o-;
Apache::SSIってあんまり使われてないのかな;;
510:501
06/07/20 22:00:08
# yum install httpd-devel
> ************* WARNING *************
> Enter `q' to stop search
> Please tell me where I can find your apache src
> [../apache_x.x/src]
ここで'q'を打った後、
/usr/include/httpd
か
/usr/lib/httpd/build
を入力。
これでいいかも。
断っておくがFedoraCoreほとんど知りません。
RPMの中身からの憶測なので違ったらすまそ。
511:nobodyさん
06/07/23 03:21:11
mod_perlからmod_speedycgiに引越中。
環境も整ってきたので、適当にベンチとってみました。
予想以上の結果にビックリしてます。
実際運用している物と同じシステムで負荷の高い(DBIでSELECT)メインスクリプトに
5つほどライブラリでばらしています。
ab -n 1000 -c 10
PerlRun+DBI 10.60 [#/sec]
PerlRegistry+DBI 44.74[#/sec]
PerlRegistry+Apache::DBI 103.67[#/sec]
mod_speedycgi+DBI 219.51[#/sec]
数回とりましたが、おおよそこんなもん
速度とメモリ使用量はすばらしいんだけどな~ mod_speedycgiがわからない事だらけ。
DBIの扱いにクセとかあるのかな?なんとかDBI接続できてるんだけど不安定(同一ソースで成功したり失敗したり)
デバッグは大変だと思う、たんに-wをつけていてもerror_logに入ってこないヶ所も多々あるように感じる。
DBIのエラーや不都合をさぐるのに$sth->errstrも効果無い?のでDBI->trace()でさぐってます。
ググってそれなりの資料が出てくる日まで、速度とメモリ使用量のメリットをあきらめてmod_perlにもどそうかと検討中ですw
512:nobodyさん
06/07/23 05:14:39
>>511
SpeedyCGIはデフォだと1時間でキャッシュが捨てられるから、不安定なのはその辺じゃない?
513:nobodyさん
06/07/23 05:18:43
正確には1時間アクセスがないと、だな。
パラメータ指定するか、wgetをcron経由で起動すればすむけど。
514:nobodyさん
06/07/23 11:26:54 BE:636768689-#
URLリンク(perldoc.jp)
ここにも定義されてるのをチェックするって書いてあるしな
515:nobodyさん
06/07/23 12:00:15
で、511は、↑にある
> ・データベースへの接続を持続させたままにするにはどうすればよいですか?
> グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は
> 接続をグローバル変数に格納し、実行のたびにその変数が既に定義されているか
> をチェックすることです。
をやっているの?
516:nobodyさん
06/07/23 12:09:39
> ab -n 1000 -c 10
> PerlRun+DBI 10.60 [#/sec]
> PerlRegistry+DBI 44.74[#/sec]
> PerlRegistry+Apache::DBI 103.67[#/sec]
> mod_speedycgi+DBI 219.51[#/sec]
これって非常に不思議な結果なのだけど、それぞれどんな設定なのかな?
517:511
06/07/23 16:22:12
>512-513
テスト中の出来事なので1時間以内にキャッシュにアクセスしています。
wgetをcron経由の技は違うシーンでパクらせて頂きます。
>514
use CGI::SpeedyCGI;
my $sp = CGI::SpeedyCGI->new;
print "Running under speedy=", $sp->i_am_speedy ? 'yes' : 'no', "\n";
↑はチェック済みでyesが出ました。↓はこの後に試してみます。
if (eval {require CGI::SpeedyCGI} && CGI::SpeedyCGI->i_am_speedy) {
>515
use vars qw($dbh);
unless (defined($dbh)) {
$dbh = DBI->connect(***, ****);
}
ちなみに↓も試しました。
$dbh = DBI->connect_cached(***, ****);
use varsでもmy $dbhでも同じ状況です。
更新後に成功して2回目でDBIがコケる事がよくあります。
キャッシュがカギか!と思わせてたまに、2回目も問題なくクリアしたりとさっぱり原因がわかりません。
518:nobodyさん
06/07/23 16:24:33
>516
【環境】
Fedora Core5
↓ソースからインストール
httpd-2.0.58 prefork
PostgreSQL8.1.4 DBI-1.51 DBD-Pg-1.49 CGI-SpeedyCGI-2.22 mod_perl-2.0
【mod_perlのhttpd.conf】
LoadModule perl_module modules/mod_perl.so
<Files *.pl>
SetHandler perl-script
PerlModule Apache::DBI #ベンチでApache::DBI以外はコメントアウト
PerlHandler Apache::Registry #PerlRunの場合はApache::PerlRun
PerlSendHeader On
PerlInitHandler Apache::StatINC
Options +ExecCGI
</Files>
PerlFreshRestart On
【mod_speedycgiのhttpd.conf】
LoadModule speedycgi_module modules/mod_speedycgi.so
<IfModule mod_speedycgi2.c>
AddHandler speedycgi-script .pl
<Location />
Options ExecCGI
</Location>
</IfModule>
↑どこかの板からパクったのをそのままベンチで使用
519:nobodyさん
06/07/23 16:46:30
> ↑どこかの板からパクったのをそのままベンチで使用
各値が適切かどうか検証もせずに?
520:nobodyさん
06/07/23 17:32:07
>>519
検証する必要のある値はどのあたりでしょうか?
521:520
06/07/23 17:54:05
追伸
パクる←表現がおかしかったです。
書き方をマネしたと解釈してください。
パスはチェック済みです。
mod_speedycgi.soやmod_speedycgi2.cがどのような動きをするかはまるで分かりません。
とりあえず試して問題なければOKなレベルでmod_speedycgiを動かしています。
522:nobodyさん
06/07/24 00:09:47
>>517
> use CGI::SpeedyCGI;
> my $sp = CGI::SpeedyCGI->new;
mod_speedycgiの下でSpeedyCGIを呼び出すという不自然なコードになってない?
一度httpd.confからmod_speedycgiの設定を外し、SpeedyCGIのみでどうなるか確認すべきではない?
523:nobodyさん
06/07/27 22:44:38
511がどうしているか、とっても気になる。
524:nobodyさん
06/07/27 23:27:34
馬鹿は放置でいいんじゃね?
525:nobodyさん
06/08/01 20:45:09 PBUCPfNT
最近落ち着いてきたスレ
526:nobodyさん
06/08/02 06:54:06
落ち着いたというか、アフォベンチ厨がいなくなっただけっしょ?
527:nobodyさん
06/08/02 15:58:35
釣ろうと必死だね
528:nobodyさん
06/08/02 22:12:09
釣り釣られの関係が成立することがあったとして、何か問題なんかね。
529:nobodyさん
06/08/03 00:02:46
まあ>526のようなあからさまな釣りは良くはないわな。
530:nobodyさん
06/08/03 01:29:14
問題だろw
531:nobodyさん
06/08/16 04:31:26
mod_perl2を使ってみたんですがApache2::Reloadで更新された.plファイルを
正常に再読込しません。Ver1.99の時は問題ありませんでした。
ReloadDebugをonにしてみると該当する.plに対してチェックが掛かってることは
確認しました。相対パスが駄目なのかと思い絶対パスにしてみたけど改善されず。
結局%INCのファイルを独自に検査して更新があったらdeleteするというルーチン
組み込んで希望の動作が出来てますが出来ればReloadで済ましたいです。
環境はFedora core5 mod_perl-2.0.2-5.1 perl-5.8.8-5です。
532:nobodyさん
06/08/16 15:33:50
Apache2のバージョンは何ですか?
533:nobodyさん
06/08/16 15:38:54
>>530
Apache2::Reload関係のhttpd.confをさらすべき。
後、Ver1.99の時とhttpd.confは同じもの?
534:531
06/08/18 12:39:47
情報が不足していてすみません。Apacheのバーションはhttpd-2.2.2-1.0です。
検証は出来るだけ最小設定で行いました。
<VirtualHost *>
略(ServerName、DocumentRootのみ設定)
PerlModule Apache2::Reload
</VirtualHost>
以下のオプションを色々変えたりコメントアウトしながら検証しました。
# PerlInitHandler Apache2::Reload
# PerlSetVar ReloadDirectories "/home ./"
# PerlSetVar ReloadDebug On
# PerlSetVar ReloadAll Off
# PerlSetVar ReloadModules "module*"
Ver1.99の時は
PerlModule Apache::Reload
のみで期待通りの動作をしていました。
535:nobodyさん
06/08/18 13:05:02
>>534
URLリンク(d.hatena.ne.jp)
現在、mod_perl には互換性のない三つのバージョンが存在してます。
mod_perl 1.0 (1.29)
mod_perl 1.99
mod_perl 2.0 (2.0.2)
536:nobodyさん
06/08/18 14:32:05
>>531
> 正常に再読込しません。
正常じゃない状態がどういう状態なのかよくわからんのだが、
URLリンク(d.hatena.ne.jp)
こういうことなんジャマイカ?
537:gan
06/08/19 06:24:16 jPBCnjia
すれ違い課も知れませんが、SpeedyCGIについて教えていただけたら、、。
【環境概要】perl5.8.3、apache、Linux
【状態】speedyCGIのモジュールをCPANのコマンドラインからインストール済み
【使用可能か?】一回目のスクリプト実行は成功、しかし2度目の実行では
エラーになります。スクリプト常駐の寿命を5秒に設定しといて、一回スクリ
プトを実行させると成功、続けて5秒以内に他のページをアクセスすると
エラーとなりますが、5秒以上待てば(スクリプトが死ぬまで待って、新規に
スクリプトを読み込ませれば)成功します。あきらかにメモリ上に
存在するスクリプトを2回目以降呼び出すとエラー、という状況です。
【他にもモジュールを使用しているか?】
Net::amazonのモジュールを使用しており、エラーになる場合はこの
モジュールを利用して searach -> (asin => "xxxxxxxxx")とやると
以下のようなエラーが吐かれます(1度目は正常、2度目からエラー)
【エラーログ】
Premature end of script headers: mr.cgi, referer: URLリンク(airrack.jp)
Undefined subroutine &main:: called at /usr/lib/perl5/site_perl/5.8.3/Log/Log4perl.pm line 133.,
referer: URLリンク(hogehoge.jp)
【エラーログに出てくるLog4perlについて】
Log4perl.pmというモジュールは、おそらくNet::Amazonがログをはくために
使っていると思われますが、詳細はよく分かりません。どちらのモジュールも最新
に上げています。
Log4perlモジュール内で変なキャッシュが残っているのでしょうか?
その場合モジュールをいじって直すしかないのでしょうか・・・。
googleで1日中検索しましたが情報がありませんでした。
かなり嵌ってしまいました。speedyCGIでNet::Amazon使ってらっしゃる方
で同様の状態になっている方いませんか?よろしければ情報いただけたら。。
よろしくお願いいたします。
538:531
06/08/19 07:14:50
535さん、536さんありがとうございます。
どうやら536さんの記事に諸に当てはまるようなので記事に書いてあるとおり
パッチを当てて再度検証しこちらで報告しようと思います。
今は酔っぱらい人間です。
539:nobodyさん
06/08/19 13:45:18
>>537
本人もわかってるようですが、グローバル変数の問題なのは間違いないでしょ。
まず基本的な事から確認。
メインのスクリプトにはグローバル変数の初期化処理がある?
540:gan
06/08/19 18:55:37 jPBCnjia
>>539
レスありがとうございます。
>メインのスクリプトにはグローバル変数の初期化処理がある?
グローバル変数の初期化処理があるというのは
メインのスクリプトにてmy $hogeとすることで初期化を行っています。
もしかしてmy $hoge=''とする必要があるのでしょうか?
541:nobodyさん
06/08/19 19:18:24
>>540
my $hoge;
では初期化されないです。
(通常のCGIならOK)
> もしかしてmy $hoge=''とする必要があるのでしょうか?
そうです。
542:nobodyさん
06/08/19 22:02:30
mod_perlだと
my $hoge;
でいいはずだけどSpeedyCGIだと違うの?
undefと空文字では意味合いが全く違うと思うんだけど。
543:541
06/08/20 01:05:51
>>540
>>542
漏れの間違い。
our $hoge;は×
my $hoge;は○
544:nobodyさん
06/08/20 01:11:35
このスレ読んでると mod_perl が最強と言うことなんでしょうか?
545:nobodyさん
06/08/20 01:36:28
ApacheAPI使いたいならね。
546:gan
06/08/20 12:17:16 9VgwFZeI
>>543
>> もしかしてmy $hoge=''とする必要があるのでしょうか?
>そうです。
全てmy $hoge='';としました!
しかし現象はまったく変わらずです。。。
使用しているモジュール(Net::Amazonなど)内の
キャッシュをクリア、みたいな処理が必要なのでしょうか・・
547:nobodyさん
06/08/20 12:52:06
>>546
そりゃそうでしょ。
>>541
はなんか勘違いしてると思われるので、アドバイスにしたがうのはどうかと思われます。
アドバイスは、ちゃんと理解しているひとからもらわないと余計に混乱してしまうだけです。
548:gan
06/08/20 12:59:32 9VgwFZeI
>>547さん
ありがとうございます。
>>>541 はなんか勘違いしてると思われるので、
>アドバイスにしたがうのはどうかと思われます。
いえいえ、人の質問に回答するだけでも立派だと思います。
>>547さん
自分で
>使用しているモジュール(Net::Amazonなど)内の
>キャッシュをクリア、みたいな処理が必要なのでしょうか・・
と書いておきながら実際のやり方が分からないのです。
Amazonを使う上でCache::Fileというモジュールを使用しています。
CGI::CacheというモジュールではspeedyCGIといっしょに使うときは
こんな風にしたほうがいいよ、みたいな説明が載っていたのですが、
Cache::Fileについては特には、、、。どなたかヒントいただけたら
幸いです。
549:400
06/08/20 16:50:49
データを整理してグラフにしました。
(一部データ追加)
興味があればのぞいてください。
URLリンク(rintaro.dip.jp)
550:nobodyさん
06/08/20 17:59:01
>>548
・CGI起動だと正常に動作するのか。
・use strictしているか。
・フロントでpackage ???;と指定していないか。
・他にHTTP::***系のモジュールを読み込んでいないか。
551:gan
06/08/21 01:42:09 ZgHdKmUM
>>550
ご回答ありがとうございます。
>・CGI起動だと正常に動作するのか。
動作します。
>・use strictしているか。
しています。・・厳密に他の外部読み込みのライブラリ
(escape.plみたいなやつ)はやっていないものもあるかも。
これ全部やるべき?
>・フロントでpackage ???;と指定していないか。
・・これどういう意味でしょうか。。よろしければ詳しくお願いします。
>・他にHTTP::***系のモジュールを読み込んでいないか。
読み込んでいないと思いますが、、現在使用しているモジュールが
依存関係にあるモジュールを勝手に読み込んでいる可能性は否定
できません。チェック方法をご存知でしたら教えてくださいませ。
552:245
06/08/21 06:54:11
>>549
乙です。グラフにすると分かりやすいですね。FastCGIの優秀さに
改めて驚きました。
553:nobodyさん
06/08/22 18:30:01
>>551
おつです。
もっぱらmod_perl使ってたけど考え直してみようかな。
554:nobodyさん
06/08/22 23:01:06
初心者がベンチして、初心者に移行を促すスレはここですか?
555:nobodyさん
06/08/22 23:07:44
誤解を招きやすい数値を元に決定を行い、誤った方向にすすんでしまう良い見本でしょう。
2ch だし。
556:nobodyさん
06/08/22 23:58:25
> 2ch だし。
2ch だと何かまずいのかな?
557:nobodyさん
06/08/23 00:01:58
2ch は玉石混淆であることを言いたかっただけです。
558:nobodyさん
06/08/23 01:13:42
ならそう言えばいいのに。
誤解を招きやすい表現を使い、謝った方向にすすんでしまう良い見本ですね。
559:nobodyさん
06/08/23 01:25:57
誤った方向にすすんでしまうのは玉石混交でいうところの"石"なわけだが
(そうじゃないと意味が通じない)、それを分かった上でかきこんでいるのかなぁ。
A. 分かった上で書き込んでいる → 自ら石であることを認めている
B. 気づかずに書き込んでいる → やっぱり石
いえ、玉石混淆なのは分かってますからあえてこれ以上追求しませんが。
560:gan
06/08/23 07:26:53 1++KeXhR
551からその後です。
某サイトで、グローバル変数をすべてあぶりだす
方法を発見(%:: というハッシュに変数名が格納されている)
そこでspeedyCGIの下記のように
use CGI::SpeedyCGI;
my $sp = CGI::SpeedyCGI->new;
$sp->register_cleanup(\&clean_up);
---------
sub clean_up{
map { $$_=undef; } keys %::;}
とすると、2度目のアクセスもエラーが出なくなりました!!
・・が、書き出されるはずのHTMLが途中で終わってしまうという
現象が発生・・無差別にグローバル変数(300項目くらいでる)を
削除するとやはりまずいのか、、しかし影響のあるものがどれか
現在特定できず、、。どなたかアドバイスいただけたら。。
561:nobodyさん
06/08/23 23:56:02
> 現象が発生・・無差別にグローバル変数(300項目くらいでる)を
> 削除するとやはりまずいのか、、しかし影響のあるものがどれか
> 現在特定できず、、。どなたかアドバイスいただけたら。。
Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの
環境で動かしてりゃいいじゃん。
562:gan
06/08/24 00:04:53 p5O8tkz+
>Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの
>環境で動かしてりゃいいじゃん。
?
563:nobodyさん
06/08/24 03:29:54
ずっとここで乞食してないでまずuse strictしてそれでも駄目だったら質問しろよ。
564:nobodyさん
06/08/24 09:58:19
>>549
> データを整理してグラフにしました。
> (一部データ追加)
> 興味があればのぞいてください。
> URLリンク(rintaro.dip.jp)
なんでworkerよりpreforkの方が速いの?誰か解説キボン
565:245
06/08/24 13:10:59
>>560
グローバル変数を削除する必要はありません。
566:gan
06/08/24 19:16:32 p5O8tkz+
>>565
そ、そうなんですか?
245さんはどうされてますか?
567:nobodyさん
06/08/24 21:21:23
> 245さんはどうされてますか?
腹を切るなり、首にひもをかけるなり、、、
568:gan
06/08/24 21:40:44 p5O8tkz+
>>567
?
569:245
06/08/25 15:29:41
いやまあ、気にせんでくれ。次行こう。
570:nobodyさん
06/09/11 06:35:42
mod_python 最強ということでよろしいか?
571:nobodyさん
06/09/22 16:52:21
つまりHTMLが最強ってことだろ?>>385
572:nobodyさん
06/10/05 22:11:58
>>497
ワロスw
スレリンク(php板)
スピード△
メモリ消費大
ApacheAPIをPerlで使えるのが長所
573:572
06/10/05 22:12:58
激しく誤爆
574:nobodyさん
06/10/06 00:49:48
どのスレと間違えたんだよ
575:nobodyさん
06/10/06 01:19:18
こんな糞スレ参考にすらならないのに。w
576:nobodyさん
06/10/06 01:35:11
検索であっさり見付かったw
スレリンク(hp板:493-番)
こんなところにまで乗り込まなくていいのに・・・
577:nobodyさん
06/10/06 03:14:53
そのスレでも似たような事が書いてあるけどmod_perl使うとメモリ数G載せないと駄目と
違う人から何回か聞いたんだけどどっかでそういうアホな情報載せてるページがあるの?
578:nobodyさん
06/10/06 04:04:05
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
06/10/06 04:14:08
576のURLさかのぼって行ったらサーバーステータス見つけたよ
一日の転送量は6.6Gで平時のロードアベレージは0.5程度、メモリは2Gちょいでした
こういう事例を見れるのはおもしろい、もっとないかな
580:nobodyさん
06/10/06 20:50:14
>>578
> (mod_perlで食うメモリなんてDBに食わせるメモリに比べたらささやかなんだよねorz)
熱く語っているところに悪いが、
workerかそれ以外かでメモリ消費は激しく変わるんだが・・・
DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな
581:nobodyさん
06/10/06 21:16:14
>>580
>DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな
今やってる仕事のが300万件2G以上のテーブルあって
全然後のこと考えてない構成なのをまかされてしまって
ちょっと愚痴気味に言ってしまったんだ、すまそ
そこでもmod_perl使ってるんだけどそういうケースだと
DBのチューニングの方が余程メモリに影響するんだよね
ちなみにメイン鯖のメモリは8Gあって殆どDBに割いてるな・・・
582:nobodyさん
06/10/06 22:33:48
サイトの性格、アクセス数も関係するし、サーバ(群)のスペックも関係する。
リソースが貧弱な場合にmod_perlは躊躇するよなあ。
案件ごとにmod_perlだ、fastcgiだと使い分けるのも、今度は人的なリソースが不足しがちになるし。
まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。
583:nobodyさん
06/10/07 04:42:23
> まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。
みんな Java だし、Java がいいんじゃね?
584:nobodyさん
06/10/08 01:55:11
8Gメモリ積んでる奴にmod_perlのメモリ消費は大したことはないといわれてもちょっと説得力がなぁ
585:nobodyさん
06/10/08 02:32:04
規模が小さければPHPだよ。Javaはコストがかかる。
586:nobodyさん
06/10/08 06:26:02
規模が小さい案件なんかやってるやつはばかです
587:nobodyさん
06/10/08 16:54:31
自分で会社作って、小中規模の仕事をこなすのが一番儲かる。
大きな会社の社員PG、SEじゃたかが知れてる。
588:nobodyさん
06/10/13 05:29:50
勢いを失ったPHPには、もう先がありません。
589:nobodyさん
06/10/13 06:48:53
RORの隆盛はPerlにとっても追い風だよな。
590:nobodyさん
06/11/05 04:44:56
URLリンク(jp.rubyist.net)
やっとPerlもJITコンパイラになるんだな
アクセラレータよ、さようなら
PHPやPythonと共通のバイトコードになるのもいい
って、まだまだ先の話か
591:nobodyさん
06/11/05 17:44:07
むしろperl等もJVMのバイトコードを出力するようにしてしまった方が
後々メリットが得られるような気もするが
そうでもないのかね。
592:nobodyさん
06/11/05 19:17:48
そのためにはPerl6が必要になるんじゃないの?
593:nobodyさん
06/11/05 19:55:56
>>591
とりあえず、JVMのコードが変換できるようになればそれでいいやん
.NETも変換できるようだし
>>592
Perl5もコンパイルできるようにするようだよ
でも、肝心のParrotが未だに開発中
594:nobodyさん
06/11/05 21:02:17
でもこれって結果的にスクリプト言語を勢いづかせるんじゃね
595:nobodyさん
06/11/05 22:44:36 tB4jjHhC
いつになったら完成するんだ!!
596:nobodyさん
06/11/06 01:45:05
明日仕上げます!
597:nobodyさん
06/11/06 22:24:47 wVlTk8ia
明日キタ━━(゚∀゚)━━!!
598:nobodyさん
06/11/06 22:58:07
完成しないとPerl6でないんだから、よほどのことがない限りでることはでるんじゃないの?
でもおそい
599:nobodyさん
06/11/06 23:00:44
スレリンク(php板)
動き無さ杉
600:nobodyさん
06/11/06 23:18:17
おいmod_parrotって...
アセンブラ言語で書けってか?
JITコンパイラ有るなら速度面でも価値は低いし
601:nobodyさん
06/11/07 01:17:26
3getさえないのにワロタwwwwwwwwwwwwwwwwww
602:nobodyさん
06/11/08 03:15:19
>>600
URLリンク(72.14.253.104)
603:nobodyさん
06/11/08 21:21:02
>>602
mod_parrotってmod_perlから呼び出されるバックエンドという理解でおk?
それならmod_parrotだから変わるっていう部分は少なくないか?
一定の速度向上以外は全く思いつかね
604:nobodyさん
06/11/10 00:45:33
> 現在開発中の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さん
06/11/10 00:53:48
Javaが挫折したネイティブCPU(補助機能としてのネイティブコードサポートならある)
これParrotでできないかな
本物のCPUを模倣したモデルを使っているので、易しいと思うんだが
問題はParrotの普及...
...というかまずスタートorz
606:nobodyさん
06/11/10 00:56:59
>>604
> CGI以外でもmod_parrot使うのかね
SpeedyCGIはCGI以外のPerlも代用できる
607:nobodyさん
06/11/27 18:16:52
modなんちゃら~は速度改善の為のみに存在してると思ってないか?
608:603
06/11/27 19:25:05
>>607
> modなんちゃら~は速度改善の為のみに存在してると思ってないか?
ApacheAPIへのインターフェイス兼アクセラレータだと思っていますが?
がmod_parrotの場合はインターフェースの役目は持ってないでしょう
609:nobodyさん
06/12/02 18:58:11
FastCGIでのMoinMoinを
URLリンク(ssk.jugem.jp)
を参考に動かそうとしているのですが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さん
06/12/02 22:58:31
背伸びする必要ないんじゃない?
611:nobodyさん
06/12/03 00:04:12
おまいら久々に新しいの出てますよ
mod_perl 2.0: Version 2.0.3 - November 28, 2006
URLリンク(perl.apache.org)
612:nobodyさん
06/12/03 00:23:05
ところでメモリ,メモリとほざいている奴は,これを試したのか?
URLリンク(search.cpan.org)
613:nobodyさん
06/12/03 02:18:17
>>612
試したの?
614:nobodyさん
06/12/03 15:23:04
>>613
見ただけじゃねえ?
>>612
で、どれくらい良くなった?
615:nobodyさん
06/12/03 15:28:26
>>609
/etc/httpd/logs/fastcgi/dynamic/が無いか、パーミッションが無いんじゃねえ?
616:615
06/12/03 16:04:25
もし/etc/httpd/logs/fastcgi/dynamic/があり所有者がApacheになっているなら、FastCGIの実行者がwikiだから書き込めないんじゃねえ?
/home/*/public_html/じゃない場合FastCGIは動くの?
617:nobodyさん
06/12/24 00:03:00 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さん
06/12/24 02:17:10
>>617
URLリンク(d.hatena.ne.jp)
?
619:nobodyさん
06/12/24 12:56:06 5VuL7TZS
>>618
PerlLoadModule Hello
PerlTransHandler Hello
を外したらうまく行きました。ありがとうございます。
動いたけど全くもって理由がわかりませんw
620:nobodyさん
06/12/24 14:51:36
サブテカがいるすれはここですか?
621:nobodyさん
06/12/27 11:30:45
,,_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ミ,|″