年末年始のアクセス増加 / 高負荷対策 / NFSに関する覚書 / 某サイトのリニューアル / KeepAlive Off / Poundを試す

投稿日: 2003年12月02月

年末年始のアクセス増加

忘れてた・・・(((( ;゜д゜)))アワワワワ

例年通りなら暮れと正月はアクセス数(=負荷)が急激に上がる可能性が高い

高負荷対策

最低でも落とさない。あわよくば軽くなるように。

冗長化でも負荷分散でも「短期間に実現可能で低リスク」な方法。

Proxy を使う場合

眠いので簡単に。

Proxy使うの負荷分散は簡単だけど冗長化にならない。フェールオーバ付ければWebサーバの冗長化にはなるけどProxy部分が死んだら終わり。でも現実解に近い。

導入はそれこそ1時間程度でもできるだろうし。Poundとかmod_proxy+mod_rewriteとか。Squidは資料集める時間が・・・でも1日あれば出来ると思う。

マスター側はApacheのポートを8080などに変更して80でProxyを動かすだけ。スレーブ側は通常通りのWebサーバでいい。Proxyで2台に振り分ける。(Proxy専用機が用意できればマスター、スレーブともに通常のポートでいい)

2台のサーバを同時にアクセスするとなるとrsync等によるコンテンツ同期は使えない。

これは共有ディレクトリでコンテンツを共有することで解決できる。

ファイルの共有で思いつくのはSAMBA(SMB/CIFS)とNFSだがCIFSに関してはファイルロックが出来るのかどうか不明。Linuxならば実績の面でもNFSが妥当。

NFS は RedHat Linux ならば最初からインストールされているのでサービスを起動するだけでとりあえず利用可能。 セキュリティを考えるとRPCのポートを固定してiptablesで固める必要があるが、それを含めても2日あればできるか・・・

ここまででWebサーバの冗長化と負荷分散になる。

Proxy部分が死んだら・・・に対しては、Proxy2台用意してハートビート等をつかって冗長化すれば解決できる。ここまでやれれば御の字だけど・・・

自分で書かなくてもすばらしい資料がありました。

NFSに関する覚書

バージョン

カーネル2.4の現在の主流はNFSv3。カーネル2.2のころはNFSv2?

カーネル2.6 では NFSv4 が実装される予定。これは互換性よりも性能を重視して一から書き直されている。

カーネル2.4の現在でもNFSv4のクライアント機能がバックポートされている(らしい)

某サイトのリニューアル

まずは現状のメニューを列挙して整理するところから

KeepAlive Off

ってそんなに効果あるんだ。

あと MaxRequestsPerChild を設定して子プロセスを定期的に殺すか

Poundを試す

http://www.apsis.ch/pound/

Pound - reverse-proxy and load-balancer

wget http://www.apsis.ch/pound/Pound-1.6.tgz
tar xvfz Pound-1.6.tgz
cd Pound-1.6
./configure
make
make install

設定ファイルを作る(/usr/local/etc/pound.cfg)

ListenHTTP 192.168.1.2,8080
UrlGroup ".*"
  BackEnd 127.0.0.1,80,1
EndGroup

この記事へのコメント

※ このコメントは旧ブログシステム(tDiary)からの移行です。

Tomさんからのコメント(2003-12-02 12:47:34)

ヽ(`Д´)ノ ボボボボボボ某サイト??

hajimeさんからのコメント(2003-12-02 13:13:59)

猫じゃないですよー(爆)

Tomさんからのコメント(2003-12-02 13:48:22)

(=´ω`=)y─┛~~ フーッてっきり猫かと。ヨカターヨ。w

Tomさんからのコメント(2003-12-03 18:57:40)

Pound=ロードバランサというイメージが強いっす。バックエンドがWebサーバ1台だけでも効果あるのだろうか??squidのキャッシュサーバにした方が効果ありそうな気もするし、、、実際どうなんだろーーー。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ