トップ(最新)

nDiki

2004年1月20日 (火)

[ 日記 ] SpeedyCGI による、同時処理数制御 このエントリーを含むはてなブックマーク

SpeedyCGI はもともとPerlスクリプト起動時の遅さ(インタプリタ起動 + プログラムのコンパイル)を回避するために、一度起動させたPerlプログラムを使いまわすもの。 Apache管理権限のない一般ユーザでもインストールして利用できるしプログラムに問題があった時の対応も簡単なので、重宝している。

もちろん mod_perl でのコーディングと同様、グローバル変数の扱いなど気をつけなければならない点はある。 hns も残念ながらそれらを意識しては書かれていないのでSpeedyCGI下では、うまく動かない。

このSpeedyCGIだが同時に生成できるバックエンドプロセスの数(-M オプション)と、各バックエンドプロセス(使いまわされるPerlプログラム)の実行回数(-r オプション)を指定できる。 例えば -M15 ならバックエンドの数を最大15になる。 16個目のアクセスがあるとバックエンドのどれかが空くまで待たされる事になる。 また -r の方は実行しているうちにどんどんメモリ使用量が増えてしまうような行儀の悪いプログラムの時などに使用するもので、例えば -r30 としておくとそのバックエンドは30回呼び出されると終了させられる(そして新しいバックエンドがまた作られる)。

で話は長くなったが例えば '-M15 -r1 -t1' というオプションにすれば、何度も実行できないようなコードのCGI プログラムでも、同時処理数制御用として SpeedyCGI が使えるというわけ(-t はバックエンドのタイムアウト指定)。

この日記もロボットの絨毯爆撃などがあるとサーバに高負荷をかけてしまう事があるので、SpeedyCGI で同時処理数を抑えるようにしてみた。 さて効果はあるかな?

スポンサード リンク


[ 1月20日全て ]

Related term

■よく検索されるキーワード

torrent(184) expressions(85) 竹内まりや(62) ドラマ(32) x31(28) 動画(27) 手帳(25) 壁紙(25) linux(22) thinkpad(20) usb(19) windows(19) wiki(17) nikon(17) 久米田彩(16) tc-1(16) ボールペン(15) mp3(15) perl(15) 修理(15) 竹内まりあ(14) 無印(12) ほぼ日手帳(12) 写真(12) システム手帳(12) allinanchor:*.torrent(12) ノート(11) debian(11) porter(11) 方眼(10) 画像(10) ヨドバシカメラ(10) a6(10) truecrypt(10) 書き方(9) ダイソー(9) ssh(9) 使い方(9) rcs(9) 2009(9) onkyo(9) ほぼ日(9) ubuntu(9) 無料動画(9) 設定(9) ニコン(9) 作り方(9) 映画(9) skype(8) iphone(8) 蘇える金狼(8) 品川(8) ai(8) リフィル(8) ヨドバシ(8) 2008(8) nikkor(8) 冷蔵庫(8) 加湿器(8) -(8) 大井町(8) firefox(7) バッグインバッグ(7) expression(7) 秋葉原(7) 日本語(7) ヤマダ電機(7) 吉瀬美智子(7) dvd(7) ペリカーノ(7) 変更(6) 三条まゆみ(6) インストール(6) 提案書(6) gmail(6) ダウンロード(6) 万年筆(6) ポーター(6) 無料(6) 無印良品(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.504901s / load averages: 0.35, 0.39, 0.34
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)