CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ

CGI::SpeedyCGI(PersistentPerl)によるPERLの実行速度アップ

SpeedyCGIの導入

# yum install perl-CGI-SpeedyCGI

※要rpmfogeの導入

概要:http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod

MAXRUNS
コマンドライン    : -rN
環境変数       : SPEEDY_MAXRUNS
CGI::SpeedyCGI    : MAXRUNS
mod_speedycgi    : SpeedyMaxruns
デフォルト値     : 0 (つまり上限なし)?500? ※
説明:
PerlインタープリタはN回実行すると、終了する。

例)

#!/usr/bin/speedy -- -r500


500回実行するとプロセス終了。
グローバル変数も初期化される。


http://perldoc.jp/docs/modules/CGI-SpeedyCGI-2.21/SpeedyCGI.pod
では500とあるが、
http://homepage3.nifty.com/hippo2000/perltips/CGI/SpeedyCGI.htm
では0となっている。
500が正しいか?

使用する際の注意点

基本的にパスはフルパスで書かなければならない。

○良い例) /home/html/cgi-bin/xxx.cgi

×悪い例) ./xxx.cgi

全てのグローバル変数の値はクリアされない

プロセスが死ぬまで変数の値は引き継がれる。

サーバのリブートやApacheのリスタートが無く、プロセスが死なない事を仮定すると

$a += 1;

はずっと加算されていく事になる。