トップ(最新)

nDiki : 2004年01月20日

2004年1月20日 (火)

過去の今ごろ このエントリーを含むはてなブックマーク

スポンサード リンク

過去の1月20日より。

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。


[ www.naney.org ] サーバ重い このエントリーを含むはてなブックマーク

ホスティングサーバに入っている別のユーザのCGI プログラム(index.cgi)が昨日の夜からメチャクチャ重い。 アクセス数が多いとかじゃなくて、プロセスどんどん残ってしまっている感じ。 普通CGI プログラムって30分も動かさないでしょ。 待ち状態じゃなくてずっとRUN状態だから、ループに落ちているのかなぁ。 load averages が下らん(さすがに朝は落ちついていたのだが、昼に確認したら20前後)。 メモリは1 CGI プログラムにつき3MB前後。 (Perl スクリプトである事を考えると)、たいしてメモリは使っていない様子。

2004/1/19・Diaryに一行つっこみフォームが復活しました。インタラクティブな日記 再び!是非ご利用ください。

これが非常に怪しい。

何か見覚えのあるサイト名だと思ったら、同じ高校出身の人だ。 4学年下の方だから同時に学校にいた事はないと思うが。 同じサーバに収容されたのかぁ (昔は違うURLだったから)。


[ 日記 ] 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 で同時処理数を抑えるようにしてみた。 さて効果はあるかな?


[ WiKicker ] 古くても検索キャッシュを返す このエントリーを含むはてなブックマーク

先日実装した Memcached による検索キャッシュ、1ページでも書き換えがあったら馬鹿正直にキャッシュを無効扱いするようにしてある。

NaneyOrgWiki は繁忙時にはサーバの負荷が上がるのを抑えるため自動的に検索機能を停止するようにしてあるのだが、本当はこの間も検索できるようにしたい(検索Wikiの肝だし)。 いまのところ WikiPage は内容が追加されるる事の方が多いので、多少古いキャッシュを使っても精度はあまり落ちないはず(再現率は下る可能性がある)。

ということで、load averages が高い時は古くても検索キャッシュがヒットすればそれを検索結果として返すようにしてみた。


[ Linux ] qmail-smtpd に2GB以上のSMTPセッションを受けるとバッファオーバーフローを引き起こす可能性 このエントリーを含むはてなブックマーク

/etc/qmail/databytes (Debian の場合の場所)に2GB以下の数値を指定すればよいらしい。


[ 1月20日全て ]

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

Process Time: 0.010239s / load averages: 0.14, 0.15, 0.10
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)