Shinya TAKEBAYASHI
takeb****@oss*****
2011年 3月 3日 (木) 12:39:45 JST
竹林です. すみません,なかなか時間が取れなくて・・・ 取り急ぎ,一点だけ補足します. > > 2. > > l7vsdのデフォルト起動スクリプトにて、プロセスの最大fd数を65536に > > 設定していると思います。また、l7vs.cfの"max_events"は1024になって > > いますが、fdに合せて"max_events"を65536に設定する必要なないのでしょ > うか? > > (epollだからOK?) > > ★ > max_events をプロセスの最大fd数に合わせる必要はないです。 > max_events を大きくしすぎますと、これまでの性能検証結果からも > 分かっておりますが、性能低下の原因になります。 > 当初の狙いは、epoll() を利用することで、同時接続数を増加させても > あまり性能低下にならないことを期待してましたが、実際は max_events が > 4096 を超えたあたりからやや顕著に性能低下が見られたと記憶しています。 > > > また、最大値1024に到達した場合、どのような挙動となるのでしょうか? > > ★ > 同時に接続できるコネクション数が制限され、使用中のコネクションが(一つ > でもよいので)解放されるまで、それ以上コネクション接続できない状態が続く > ことになるはずです。(言うまでもなく、最大値1024に達したからといって、 > exit(1)等で l7vsd 停止やl7vsd ダウンさせるような仕様ではありません。) 「(maxevents ÷ 2) - 2」くらいが,実際に受け付けられる コネクション数になります. この数値以上のコネクションを張ろうとした場合,大概は待たされますが あまりに多いと,切断される場合があります. ただし,近藤さんのおっしゃるとおり,これが原因で l7vsd が 落ちたりするような実装にはなっていません. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takeb****@oss***** GPG ID: 395EFCE8 GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 -----------------------------------------------------------