Ubuntu 10.04
Sponsored Link

SpeedyCGIでCGIを高速化2010/07/24

  Perlスクリプトを高速化できる SpeedyCGI を導入します。 Perlインタープリタをメモリに常駐させることで高速化を図っています。他にもPerlの高速化には mod_perl や FastCGI があります。

ただし、この SpeedyCGI や他の mod_perl や FastCGI を使うときはPerlスクリプトの書き方には注意が必要です。 これらを使う場合、グローバル変数を使いすぎていると、期待した動作をしなくなります。そのため変数は極力 'my' や 'local' で宣言するようにしなければなりません。

[1] インストール
root@www05:~#
aptitude -y install speedy-cgi-perl


# シンボリックリンク作成

root@www05:~#
ln -s /usr/bin/speedy /usr/local/bin/speedy
[2] 記述方法です。通常の記述で、頭のパスをかえてやればよいだけです。 ただしその後のオプションはつけておいた方がよいでしょう。 '-t' は続く数字の秒数以上リクエストがないと 常駐perlインタープリタを終了します。 '-M' は続く数字の数にバックエンドの数を制限します。
root@www05:~#
vi /var/www/speedy.cgi


#!/usr/local/bin/speedy -- -t300 -M1

print "Content-type: text/html\n\n";
print <<"EOM";
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Speedy CGI Test Page
</div>
</body>
</html>
EOM
exit;


root@www05:~#
chmod 705 /var/www/speedy.cgi

  主なオプションです。

(1) -t秒数
指定の秒数後、何も新しいリクエストを受け取らなければ常駐perlインタープリタを終了
(デフォルトは3600秒)
(2) -M数字
指定数だけバックエンドのプロセスを制限
(デフォルトは0。すなわち制限なし)
(3) -Bバッファ数
perlバックエンドからデータを受け取るバッファ数を指定
(バイト単位で指定。デフォルトは131072バイト)
(4) -bバッファ数
perlバックエンドにデータを送るバッファ数を指定
(バイト単位で指定。デフォルトは131072バイト)
(5) -r回数
指定回数実行したらバックエンドプロセスを再起動
(デフォルトは500回)

関連コンテンツ