SpeedyCGIでCGIを高速化2011/03/10 |
Perlスクリプトを高速化できる SpeedyCGI を導入します。
Perlインタープリタをメモリに常駐させることで高速化を図っています。他にもPerlの高速化には mod_perl や FastCGI
があります。 ただし、この SpeedyCGI や他の mod_perl や FastCGI を使うときはPerlスクリプトの書き方には注意が必要です。 これらを使う場合、グローバル変数を使いすぎていると、期待した動作をしなくなります。そのため変数は極力 'my' や 'local' で宣言するようにしなければなりません。 |
|
[1] | インストール |
root@www:~# aptitude -y install speedy-cgi-perl # シンボリックリンク作成 root@www:~# ln -s /usr/bin/speedy /usr/local/bin/speedy
|
[2] | 記述方法です。通常の記述で、頭のパスをかえてやればよいだけです。 ただしその後のオプションはつけておいた方がよいでしょう。 '-t' は続く数字の秒数以上リクエストがないと 常駐perlインタープリタを終了します。 '-M' は続く数字の数にバックエンドの数を制限します。 |
root@www:~# 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@www:~# chmod 705 /var/www/speedy.cgi |
主なオプションです。( 詳細はこちらを参照 ⇒ http://daemoninc.com/SpeedyCGI/ ) (1) -t秒数 指定の秒数後、何も新しいリクエストを受け取らなければ常駐perlインタープリタを終了
(2) -M数字(デフォルトは3600秒) 指定数だけバックエンドのプロセスを制限
(3) -Bバッファ数(デフォルトは0。すなわち制限なし) perlバックエンドからデータを受け取るバッファ数を指定
(4) -bバッファ数(バイト単位で指定。デフォルトは131072バイト) perlバックエンドにデータを送るバッファ数を指定
(5) -r回数(バイト単位で指定。デフォルトは131072バイト) 指定回数実行したらバックエンドプロセスを再起動 (デフォルトは500回) |
Sponsored Link |