月刊900万PVほどのサイトにロードバランサとして、pound-2.4.4を使っています。

最近アクセス数が増加して /var/log/messages に
kernel: pound[27415] trap divide error rip:411c81 rsp:7a89fbc0
という様なエラーが発生し、プロセスが落ちます。

接続数が大変多いため接続しづらいことがあったので、/etc/init.d/pound のstart時に ulimit -n 20000 を実行して最大値を増やしています。
そういった背景もあるのですが、どうにか落ちないようにする方法はございませんでしょうか?

環境はCentOS5.3 64bit
メモリやCPUのリソースは十分すぎるほど空いているデータセンタに設置しているサーバです。

回答の条件
  • 1人2回まで
  • 登録:2009/07/14 22:52:41
  • 終了:2009/07/21 22:55:02

ベストアンサー

id:y-kawaz No.2

y-kawaz回答回数1421ベストアンサー獲得回数2262009/07/15 09:12:15

ポイント35pt

poundだとTCPコネクション自体がロードバランサに集中してしまうので自ずと処理限界があります。

単純なロードバランシングであれば LVS (Linux Virtual Server) を使うのが良いと思います。これはLinuxカーネルレベルでパケットをロードバランシングをしてくれるので、専用ハードウェアに全く劣らない余裕の性能を発揮できます。実体験では1日1億PVのサイトでもロードバランサとしての処理能力的には数年前のスペックのハードウェアのLinuxロードバランサ1台でも全然余裕な程度です。

裏のサーバの障害検出による自動切り離しなども行いたければ ldirectord と組み合わせれば良いでしょう。

ロードバランサ自体を2重化したいのであれば heartbeat を使えば良いでしょう。

参考になるドキュメントはググればいくらでも転がっているのでこれらキーワードで調べてみてください。

その他の回答(1件)

id:kn1967a No.1

kn1967a回答回数356ベストアンサー獲得回数72009/07/15 07:59:59

ポイント35pt

ソフトウェア・プロキシで処理するのは無理。

専用ハードの導入を勧める。

id:ko-takada

ありがとうございます。しかしべらぼうに高いので、現実的な対応策としては、具体的にどのようなものがございますでしょうか?

もう一台ロードバランサを用意し、DNSラウンドロビンでロードバランサへのアクセスを分散させるという、少々おかしな方法以外に何かございますでしょうか?

2009/07/15 08:43:16
id:y-kawaz No.2

y-kawaz回答回数1421ベストアンサー獲得回数2262009/07/15 09:12:15ここでベストアンサー

ポイント35pt

poundだとTCPコネクション自体がロードバランサに集中してしまうので自ずと処理限界があります。

単純なロードバランシングであれば LVS (Linux Virtual Server) を使うのが良いと思います。これはLinuxカーネルレベルでパケットをロードバランシングをしてくれるので、専用ハードウェアに全く劣らない余裕の性能を発揮できます。実体験では1日1億PVのサイトでもロードバランサとしての処理能力的には数年前のスペックのハードウェアのLinuxロードバランサ1台でも全然余裕な程度です。

裏のサーバの障害検出による自動切り離しなども行いたければ ldirectord と組み合わせれば良いでしょう。

ロードバランサ自体を2重化したいのであれば heartbeat を使えば良いでしょう。

参考になるドキュメントはググればいくらでも転がっているのでこれらキーワードで調べてみてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません