mod_perl化でhttpdが不安定に

| コメント(1) | トラックバック(0)

先日のサーバーのmod_perl化で、MTがキビキビ動くようになったのはいいのですが、httpdが不安定になってしまいました。具体的には、頻繁に「ページがみつかりません」というエラーメッセージが出るようになってしまいました。私はウェブメールを愛用しているので、メールの送信時にこのエラーが出ると、書いたばかりのメールが失われてしまうために泣きたくなります(すでにこの数日で悲劇は10回以上起きています)。

ひらたさんに相談してみると、mod_perl化したhttpdでMTを動かすと、MT全体をキャッシュしてしまうので、多くのhttpdプロセスが立ち上がると、あっという間に大量のメモリーを食ってしまう、ということを教わりました。

とりあえずはhttpd.confの「MaxSpareServers」を小さく抑える(具体的にはメモリ登載量 -100M)/20M程度)ことで応急処置しました。

それでも頻度は減ったものの、やはり時々、悲劇がおきます(実はこのポストの最中にも悲劇が起き、半分以上をいま書き直しています)。

そこで抜本的な解決策として、フロントエンドにロードバランサーも兼ねてPoundを置き、MTはmod_perl化したapache1.3、その他のページはapache2で処理する、ということにしました。

poundの設定はそれほど面倒でないのですが、やはりapache/apache2の設定は複雑なのと、安易にやるとウェブサーバー全体に影響が出てしまうので、とりあえずは参考にするページその他をここに記しておくにとどめます。週末など時間があるときに実作業することにしました。

pound本家
poundについての情報
C10K Problem by 竹迫さん
poundを使った構成の模式図

トラックバック(0)

トラックバックURL: http://www.syncworld.net/cgi-bin/mt/mt-tb.cgi/1928

1 Comments
ザ・ケイゾウ said:

そもそもスペア・プロセスって必要ですか(fork()時間の節約にしかならないし)。同時接続数でメモリーが圧迫されるという話ならMaxClientsを絞るのが早いと思います。とりあえずKeepAliveは無しで。

ウェブページ

このブログ記事について

このページは、nob sekiがJanuary 7, 2004 12:43 AMに書いたブログ記事です。

ひとつ前のブログ記事は「FriendRankという発想」です。

次のブログ記事は「人間ドック」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.292
(c) Nobuhiro Seki