中居憲久
nakai****@yes*****
2007年 7月 19日 (木) 19:00:20 JST
UltraMonkey-l7開発者の皆様 お世話になっております。 NTTComwareにてUltraMonkey-L7のepoll化及び高速化を行ってる中居です。 現在進行形ではあるのですが、複数人にて開発を行っているため、 既存のUltraMonkeyのファイル構成ではUnitTestなどの作業に少々不便があるため モジュールごとにヘッダファイルを分割いたしました。 モジュールごとのヘッダファイルを分割したパッチを送付させていただきます。 また前回のメールで説明させていただきましたが、 epoll化と同時に各種機能を追加しております。 以下に概要を説明させていただきます。 1)Syncsessionの再設計 →セッション情報をUDPでSBY側に送っているが、MTUの値を超えた場合の考慮がないため 複数回のUDPパケットを考慮した設計に変更。 ただし、UDPのため順序とロストに関しては設計で吸収を行う。 また、l7syncdとの情報共有をプロトコルモジュール中でsemaphoreとshared_memoryで 行っているが、その部分での速度低下を抑える設計とする。 2)QoSの導入 →バーチャルサービスごとの単位時間あたりにrecv()するバイト数を設定できるようにする。 また、コネクションごとの単位時間あたりにrecv()するバイト数を設定できるようにする。 これはepoll()化に伴い単独clientからの分割されたパケットを複数回のepoll_wait()で 処理できるようになっているため、単位時間あたりに規定値よりも多くのデータが 送られてきた場合には、次回のepoll_wait()時に処理するようにする。 3)Sorry機能の修正 →現状はprotocolmodule中で共有メモリに情報を持っているためバーチャルサービスを超えて Sorryサーバへと飛ばされてしまう。 また、destを直接書き換えるために戻すことができない。 したがって、バーチャルサービス単位でsorryを設定できるようにする。 一番の変更点は前回のメールで説明させていただいたepoll周りなのですが、 そのほかにも大きなもので上記の機能追加を行っております。 次回、それぞれの方式についてもう少し掘り下げた説明のメールを投げられればと思っております。 どうぞよろしくお願いいたします。 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: monkey_header.patch.bz2 型: application/octet-stream サイズ: 16412 バイト 説明: 無し ダウンロード