トップページphp
851コメント342KB

【激速】mod_perl SpeedyCGI FastCGI【激速】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/05(月) 20:01:09ID:+YcYjDiD
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/

ー二三ヘ( ゚∀゚)ノ
04884772006/07/09(日) 01:43:44ID:???
>>487
> LoadModule fastcgi_module libexec/apache/mod_fastcgi.so

エラーログの指摘だとこの行のエラーですよね。
多分、>487さんの環境では、
LoadModule fastcgi_module modules/mod_fastcgi.so
これでいいんではないかと思います。
04894872006/07/09(日) 02:10:48ID:???
>477さん
いろいろとありがとうございます(つД`)2chでこんなに親切にされたの初めてです。

477さんのおっしゃるとおり試してみたのですが、またエラーが出てしまいました。
明日改めてfastcgiを入れ直してみようかと思います。

それで、もしよろしければこちらの板でずっと続けてしまうと皆さんにご迷惑をおかけしているような
気もしますので、メールで教えていただけませんでしょうか…。
もう、藁にもすがる思いなんです…。
メアド欄にアドレスを入れましたので、もしよろしければお返事ください。
本当にありがとうございました。
04904772006/07/09(日) 02:17:43ID:???
メールしました。
0491nobodyさんNGNG
もう放置しろよ
0492nobodyさん2006/07/09(日) 12:41:51ID:???
>>489
うまく行ったら、どの辺で引っかかっていたのか、レポートよろ。
0493nobodyさん2006/07/11(火) 14:51:25ID:EY3GIFAe
mod_perlに移行したら、cronで動かなくなりました。
どうしたらいいんでしょう?

0494nobodyさん2006/07/11(火) 18:03:59ID:???
cronで何をうごかしてたん。
0495nobodyさん2006/07/11(火) 21:22:46ID:EY3GIFAe
>>494
perlです。すいません、自己解決しました。
0496nobodyさん2006/07/12(水) 11:09:51ID:???
SpeedyCGIで
CGI::Sessionを使うときに注意すべき点があれば
教えてください。
0497nobodyさん2006/07/12(水) 21:56:44ID:???
CGI::Session->flush;
0498nobodyさん2006/07/18(火) 01:51:23ID:???
保守
0499nobodyさん2006/07/19(水) 15:16:27ID:???
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-;

0500nobodyさん2006/07/19(水) 22:40:18ID:???
/usr/local/src/apache_x.x/src
とかなんじゃね
0501nobodyさん2006/07/19(水) 22:46:09ID:???
全くスレ違いだと思うが、

> ************* 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を入力した後アパッチソースのパスを入力しろ。

以上で間違いないと思うが。
05024992006/07/19(水) 22:51:32ID: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-;
05034992006/07/19(水) 22:55:32ID:NWioDOXW
>>501
スレ違い失礼します。。
gdbmの実体とはlibgdbm.soですよね?見当たらないんですが。。(-o-;

gdbmってなんでしょ?調べてきます。perlは問題なく動いてはいるんですが。。
05045012006/07/19(水) 23:56:28ID:???
>>503
gdbmは最も単純なデータベース。
BarkleyDBと似たようなもの。
locate gdbmの結果は?
05055012006/07/20(木) 00:02:01ID:???
>>502
アパッチがディストリのものだと、どうすればいいかはケースバイケース。
自力でググるしかない。
05064992006/07/20(木) 08:49:55ID: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
05075012006/07/20(木) 09:01:09ID:???
>>506
通常、
/usr/lib/libgdbm.so.2は
/usr/lib/libgdbm.so.2.0.0へのシンボリックリンク。
#cd /usr/lib
#ln -s libgdbm.so.2 libgdbm.so
で解決するかと。
05084992006/07/20(木) 09:15:28ID: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

です
05094992006/07/20(木) 13:36:45ID:???
501さん、色々とありがとうございます。

FedoraCore5なんですが、ググってもそれらしい情報が探し出せない(-o-;
Apache::SSIってあんまり使われてないのかな;;
05105012006/07/20(木) 22:00:08ID:???
# 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の中身からの憶測なので違ったらすまそ。
0511nobodyさん2006/07/23(日) 03:21:11ID:???
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
0512nobodyさん2006/07/23(日) 05:14:39ID:???
>>511
SpeedyCGIはデフォだと1時間でキャッシュが捨てられるから、不安定なのはその辺じゃない?
0513nobodyさん2006/07/23(日) 05:18:43ID:???
正確には1時間アクセスがないと、だな。
パラメータ指定するか、wgetをcron経由で起動すればすむけど。
0514nobodyさんNGNG
http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
ここにも定義されてるのをチェックするって書いてあるしな
0515nobodyさん2006/07/23(日) 12:00:15ID:???
で、511は、↑にある

> ・データベースへの接続を持続させたままにするにはどうすればよいですか?
> グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は
> 接続をグローバル変数に格納し、実行のたびにその変数が既に定義されているか
> をチェックすることです。

をやっているの?
0516nobodyさん2006/07/23(日) 12:09:39ID:???
> 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]

これって非常に不思議な結果なのだけど、それぞれどんな設定なのかな?
05175112006/07/23(日) 16:22:12ID:???
>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回目も問題なくクリアしたりとさっぱり原因がわかりません。
0518nobodyさん2006/07/23(日) 16:24:33ID:???
>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>

↑どこかの板からパクったのをそのままベンチで使用
0519nobodyさん2006/07/23(日) 16:46:30ID:???
> ↑どこかの板からパクったのをそのままベンチで使用

各値が適切かどうか検証もせずに?
0520nobodyさん2006/07/23(日) 17:32:07ID:???
>>519
検証する必要のある値はどのあたりでしょうか?
05215202006/07/23(日) 17:54:05ID:???
追伸
パクる←表現がおかしかったです。
書き方をマネしたと解釈してください。
パスはチェック済みです。
mod_speedycgi.soやmod_speedycgi2.cがどのような動きをするかはまるで分かりません。
とりあえず試して問題なければOKなレベルでmod_speedycgiを動かしています。
0522nobodyさん2006/07/24(月) 00:09:47ID:???
>>517

> use CGI::SpeedyCGI;
> my $sp = CGI::SpeedyCGI->new;

mod_speedycgiの下でSpeedyCGIを呼び出すという不自然なコードになってない?
一度httpd.confからmod_speedycgiの設定を外し、SpeedyCGIのみでどうなるか確認すべきではない?
0523nobodyさん2006/07/27(木) 22:44:38ID:???
511がどうしているか、とっても気になる。
0524nobodyさん2006/07/27(木) 23:27:34ID:???
馬鹿は放置でいいんじゃね?
0525nobodyさん2006/08/01(火) 20:45:09ID:PBUCPfNT
最近落ち着いてきたスレ
0526nobodyさん2006/08/02(水) 06:54:06ID:???
落ち着いたというか、アフォベンチ厨がいなくなっただけっしょ?
0527nobodyさん2006/08/02(水) 15:58:35ID:???
釣ろうと必死だね
0528nobodyさん2006/08/02(水) 22:12:09ID:???
釣り釣られの関係が成立することがあったとして、何か問題なんかね。
0529nobodyさん2006/08/03(木) 00:02:46ID:???
まあ>526のようなあからさまな釣りは良くはないわな。
0530nobodyさん2006/08/03(木) 01:29:14ID:???
問題だろw
0531nobodyさん2006/08/16(水) 04:31:26ID:???
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です。
0532nobodyさん2006/08/16(水) 15:33:50ID:???
Apache2のバージョンは何ですか?
0533nobodyさん2006/08/16(水) 15:38:54ID:???
>>530
Apache2::Reload関係のhttpd.confをさらすべき。
後、Ver1.99の時とhttpd.confは同じもの?
05345312006/08/18(金) 12:39:47ID:???
情報が不足していてすみません。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
のみで期待通りの動作をしていました。
0535nobodyさん2006/08/18(金) 13:05:02ID:???
>>534

http://d.hatena.ne.jp/naoya/20060108/1136692447

現在、mod_perl には互換性のない三つのバージョンが存在してます。

mod_perl 1.0 (1.29)
mod_perl 1.99
mod_perl 2.0 (2.0.2)
0536nobodyさん2006/08/18(金) 14:32:05ID:???
>>531
> 正常に再読込しません。
正常じゃない状態がどういう状態なのかよくわからんのだが、
ttp://d.hatena.ne.jp/holidays-l/20060731/p2
こういうことなんジャマイカ?
0537gan2006/08/19(土) 06:24:16ID: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: http://airrack.jp/
Undefined subroutine &main:: called at /usr/lib/perl5/site_perl/5.8.3/Log/Log4perl.pm line 133.,
referer: http://hogehoge.jp/hoge
【エラーログに出てくるLog4perlについて】
Log4perl.pmというモジュールは、おそらくNet::Amazonがログをはくために
使っていると思われますが、詳細はよく分かりません。どちらのモジュールも最新
に上げています。
Log4perlモジュール内で変なキャッシュが残っているのでしょうか?
その場合モジュールをいじって直すしかないのでしょうか・・・。
googleで1日中検索しましたが情報がありませんでした。
かなり嵌ってしまいました。speedyCGIでNet::Amazon使ってらっしゃる方
で同様の状態になっている方いませんか?よろしければ情報いただけたら。。

よろしくお願いいたします。
05385312006/08/19(土) 07:14:50ID:???
535さん、536さんありがとうございます。
どうやら536さんの記事に諸に当てはまるようなので記事に書いてあるとおり
パッチを当てて再度検証しこちらで報告しようと思います。
今は酔っぱらい人間です。
0539nobodyさん2006/08/19(土) 13:45:18ID:???
>>537
本人もわかってるようですが、グローバル変数の問題なのは間違いないでしょ。
まず基本的な事から確認。

メインのスクリプトにはグローバル変数の初期化処理がある?
0540gan2006/08/19(土) 18:55:37ID:jPBCnjia
>>539
レスありがとうございます。
>メインのスクリプトにはグローバル変数の初期化処理がある?
グローバル変数の初期化処理があるというのは
メインのスクリプトにてmy $hogeとすることで初期化を行っています。
もしかしてmy $hoge=''とする必要があるのでしょうか?
0541nobodyさん2006/08/19(土) 19:18:24ID:???
>>540
my $hoge;
では初期化されないです。
(通常のCGIならOK)

> もしかしてmy $hoge=''とする必要があるのでしょうか?
そうです。
0542nobodyさん2006/08/19(土) 22:02:30ID:???
mod_perlだと
my $hoge;
でいいはずだけどSpeedyCGIだと違うの?
undefと空文字では意味合いが全く違うと思うんだけど。
05435412006/08/20(日) 01:05:51ID:???
>>540
>>542
漏れの間違い。
our $hoge;は×
my $hoge;は○
0544nobodyさん2006/08/20(日) 01:11:35ID:???
このスレ読んでると mod_perl が最強と言うことなんでしょうか?
0545nobodyさん2006/08/20(日) 01:36:28ID:???
ApacheAPI使いたいならね。
0546gan2006/08/20(日) 12:17:16ID:9VgwFZeI
>>543
>> もしかしてmy $hoge=''とする必要があるのでしょうか?
>そうです。
全てmy $hoge='';としました!
しかし現象はまったく変わらずです。。。
使用しているモジュール(Net::Amazonなど)内の
キャッシュをクリア、みたいな処理が必要なのでしょうか・・

0547nobodyさん2006/08/20(日) 12:52:06ID:???
>>546
そりゃそうでしょ。

>>541
はなんか勘違いしてると思われるので、アドバイスにしたがうのはどうかと思われます。
アドバイスは、ちゃんと理解しているひとからもらわないと余計に混乱してしまうだけです。
0548gan2006/08/20(日) 12:59:32ID:9VgwFZeI
>>547さん
ありがとうございます。

>>>541 はなんか勘違いしてると思われるので、
>アドバイスにしたがうのはどうかと思われます。
いえいえ、人の質問に回答するだけでも立派だと思います。

>>547さん
自分で
>使用しているモジュール(Net::Amazonなど)内の
>キャッシュをクリア、みたいな処理が必要なのでしょうか・・
と書いておきながら実際のやり方が分からないのです。
Amazonを使う上でCache::Fileというモジュールを使用しています。
CGI::CacheというモジュールではspeedyCGIといっしょに使うときは
こんな風にしたほうがいいよ、みたいな説明が載っていたのですが、
Cache::Fileについては特には、、、。どなたかヒントいただけたら
幸いです。
05494002006/08/20(日) 16:50:49ID:???
データを整理してグラフにしました。
(一部データ追加)
興味があればのぞいてください。
http://rintaro.dip.jp/info/?c=pg&p=apbench
0550nobodyさん2006/08/20(日) 17:59:01ID:???
>>548
・CGI起動だと正常に動作するのか。
・use strictしているか。
・フロントでpackage ???;と指定していないか。
・他にHTTP::***系のモジュールを読み込んでいないか。
0551gan2006/08/21(月) 01:42:09ID:ZgHdKmUM
>>550
ご回答ありがとうございます。

>・CGI起動だと正常に動作するのか。
動作します。

>・use strictしているか。
しています。・・厳密に他の外部読み込みのライブラリ
(escape.plみたいなやつ)はやっていないものもあるかも。
これ全部やるべき?

>・フロントでpackage ???;と指定していないか。
・・これどういう意味でしょうか。。よろしければ詳しくお願いします。

>・他にHTTP::***系のモジュールを読み込んでいないか。
読み込んでいないと思いますが、、現在使用しているモジュールが
依存関係にあるモジュールを勝手に読み込んでいる可能性は否定
できません。チェック方法をご存知でしたら教えてくださいませ。
05522452006/08/21(月) 06:54:11ID:???
>>549
乙です。グラフにすると分かりやすいですね。FastCGIの優秀さに
改めて驚きました。
0553nobodyさん2006/08/22(火) 18:30:01ID:???
>>551
おつです。
もっぱらmod_perl使ってたけど考え直してみようかな。
0554nobodyさん2006/08/22(火) 23:01:06ID:???
初心者がベンチして、初心者に移行を促すスレはここですか?
0555nobodyさん2006/08/22(火) 23:07:44ID:???
誤解を招きやすい数値を元に決定を行い、誤った方向にすすんでしまう良い見本でしょう。
2ch だし。
0556nobodyさん2006/08/22(火) 23:58:25ID:???
> 2ch だし。

2ch だと何かまずいのかな?
0557nobodyさん2006/08/23(水) 00:01:58ID:???
2ch は玉石混淆であることを言いたかっただけです。
0558nobodyさん2006/08/23(水) 01:13:42ID:???
ならそう言えばいいのに。
誤解を招きやすい表現を使い、謝った方向にすすんでしまう良い見本ですね。
0559nobodyさん2006/08/23(水) 01:25:57ID:???
誤った方向にすすんでしまうのは玉石混交でいうところの"石"なわけだが
(そうじゃないと意味が通じない)、それを分かった上でかきこんでいるのかなぁ。

A. 分かった上で書き込んでいる → 自ら石であることを認めている
B. 気づかずに書き込んでいる → やっぱり石

いえ、玉石混淆なのは分かってますからあえてこれ以上追求しませんが。
0560gan2006/08/23(水) 07:26:53ID: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項目くらいでる)を
削除するとやはりまずいのか、、しかし影響のあるものがどれか
現在特定できず、、。どなたかアドバイスいただけたら。。
0561nobodyさん2006/08/23(水) 23:56:02ID:???
> 現象が発生・・無差別にグローバル変数(300項目くらいでる)を
> 削除するとやはりまずいのか、、しかし影響のあるものがどれか
> 現在特定できず、、。どなたかアドバイスいただけたら。。

Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの
環境で動かしてりゃいいじゃん。
0562gan2006/08/24(木) 00:04:53ID:p5O8tkz+
>Perl 3 時代の糞スクリプトなら、ISP からもらえるチルダつきの
>環境で動かしてりゃいいじゃん。
0563nobodyさん2006/08/24(木) 03:29:54ID:???
ずっとここで乞食してないでまずuse strictしてそれでも駄目だったら質問しろよ。
0564nobodyさん2006/08/24(木) 09:58:19ID:???
>>549
> データを整理してグラフにしました。
> (一部データ追加)
> 興味があればのぞいてください。
> http://rintaro.dip.jp/info/?c=pg&p=apbench

なんでworkerよりpreforkの方が速いの?誰か解説キボン
05652452006/08/24(木) 13:10:59ID:???
>>560
グローバル変数を削除する必要はありません。
0566gan2006/08/24(木) 19:16:32ID:p5O8tkz+
>>565
そ、そうなんですか?
245さんはどうされてますか?
0567nobodyさん2006/08/24(木) 21:21:23ID:???
> 245さんはどうされてますか?

腹を切るなり、首にひもをかけるなり、、、
0568gan2006/08/24(木) 21:40:44ID:p5O8tkz+
>>567
05692452006/08/25(金) 15:29:41ID:???
いやまあ、気にせんでくれ。次行こう。
0570nobodyさん2006/09/11(月) 06:35:42ID:???
mod_python 最強ということでよろしいか?
0571nobodyさん2006/09/22(金) 16:52:21ID:???
つまりHTMLが最強ってことだろ?>>385

0572nobodyさん2006/10/05(木) 22:11:58ID:???
>>497
ワロスw
http://pc8.2ch.net/test/read.cgi/php/1149505269/
スピード△
メモリ消費大
ApacheAPIをPerlで使えるのが長所
05735722006/10/05(木) 22:12:58ID:???
激しく誤爆
0574nobodyさん2006/10/06(金) 00:49:48ID:???
どのスレと間違えたんだよ
0575nobodyさん2006/10/06(金) 01:19:18ID:???
こんな糞スレ参考にすらならないのに。w
0576nobodyさん2006/10/06(金) 01:35:11ID:???
検索であっさり見付かったw
http://pc8.2ch.net/test/read.cgi/hp/1154177468/493-
こんなところにまで乗り込まなくていいのに・・・
0577nobodyさん2006/10/06(金) 03:14:53ID:???
そのスレでも似たような事が書いてあるけどmod_perl使うとメモリ数G載せないと駄目と
違う人から何回か聞いたんだけどどっかでそういうアホな情報載せてるページがあるの?
0578nobodyさん2006/10/06(金) 04:04:05ID:???
mod_perlかFastCGIかなんてあんまり有意な差はないよ
それより、プレコンパイルになって起動に時間がかからなくなるってことは
中身の速さ=実際の速さに近くなるってことなんだよ?

つまり、DBで扱うテーブルやインデックスの設計とか効率的なSQL発行してるかとか
DBのネックは殆どディスクIOかメモリ不足だからRAIDにするとかメモリ増やすとか
(mod_perlで食うメモリなんてDBに食わせるメモリに比べたらささやかなんだよねorz)
HTMLのレンダリングとか処理自体が遅いなら
スクリプトのコーディングや使ってるCMS見直したほうが余程結果出せる・・・・

ちなみに576のリンク先のサイトもレスポンスヘッダ見ると
静的コンテンツはApache2、動的コンテンツはApache1.3+mod_perlだね
mod_perlだけで数Gとかリバースプロキシも知らない奴が言ってるとしか思えないっ
05795782006/10/06(金) 04:14:08ID:???
576のURLさかのぼって行ったらサーバーステータス見つけたよ
一日の転送量は6.6Gで平時のロードアベレージは0.5程度、メモリは2Gちょいでした
こういう事例を見れるのはおもしろい、もっとないかな
0580nobodyさん2006/10/06(金) 20:50:14ID:???
>>578
> (mod_perlで食うメモリなんてDBに食わせるメモリに比べたらささやかなんだよねorz)

熱く語っているところに悪いが、
workerかそれ以外かでメモリ消費は激しく変わるんだが・・・

DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな

0581nobodyさん2006/10/06(金) 21:16:14ID:???
>>580
>DBの種類もテーブルもレコード数もわからないのにメモリ消費はわかるんだな
今やってる仕事のが300万件2G以上のテーブルあって
全然後のこと考えてない構成なのをまかされてしまって
ちょっと愚痴気味に言ってしまったんだ、すまそ

そこでもmod_perl使ってるんだけどそういうケースだと
DBのチューニングの方が余程メモリに影響するんだよね
ちなみにメイン鯖のメモリは8Gあって殆どDBに割いてるな・・・
0582nobodyさん2006/10/06(金) 22:33:48ID:???
サイトの性格、アクセス数も関係するし、サーバ(群)のスペックも関係する。
リソースが貧弱な場合にmod_perlは躊躇するよなあ。
案件ごとにmod_perlだ、fastcgiだと使い分けるのも、今度は人的なリソースが不足しがちになるし。
まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。
0583nobodyさん2006/10/07(土) 04:42:23ID:???
> まあ規模が小さければ、PHPが一番いいのかな。みんなPHPだし。

みんな Java だし、Java がいいんじゃね?
0584nobodyさん2006/10/08(日) 01:55:11ID:???
8Gメモリ積んでる奴にmod_perlのメモリ消費は大したことはないといわれてもちょっと説得力がなぁ
0585nobodyさん2006/10/08(日) 02:32:04ID:???
規模が小さければPHPだよ。Javaはコストがかかる。
0586nobodyさん2006/10/08(日) 06:26:02ID:???
規模が小さい案件なんかやってるやつはばかです
0587nobodyさん2006/10/08(日) 16:54:31ID:???
自分で会社作って、小中規模の仕事をこなすのが一番儲かる。
大きな会社の社員PG、SEじゃたかが知れてる。
■ このスレッドは過去ログ倉庫に格納されています