人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

月刊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のリソースは十分すぎるほど空いているデータセンタに設置しているサーバです。

●質問者: ko-takada
●カテゴリ:インターネット ウェブ制作
✍キーワード:CPU ETC kernel PV RIP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967a
●35ポイント

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

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

◎質問者からの返答

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

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


2 ● y-kawaz
●35ポイント ベストアンサー

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ