[Ultramonkey-l7-develop 35] UltraMonkey-L7のヘッダ分割について

Back to archive index

中居憲久 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 バイト
説明:       無し
Download 


Ultramonkey-l7-develop メーリングリストの案内
Back to archive index