From takebayashi.shinya @ oss.ntt.co.jp Fri Apr 17 15:20:29 2009 From: takebayashi.shinya @ oss.ntt.co.jp (Shinya TAKEBAYASHI) Date: Fri, 17 Apr 2009 15:20:29 +0900 Subject: [Ultramonkey-l7-develop 328] =?iso-2022-jp?b?c3NsaWQgGyRCJWIlOCVlITwlayROQC1HPU50Mj0kS0JQGyhC?= =?iso-2022-jp?b?GyRCJDkka0JQPWgkSyREJCQkRhsoQg==?= Message-ID: 竹林です. sslid モジュールについて,replication を入れた版から性能が劣化したと 報告を受けました. 下記の方針で修正する予定ですが,すべてのプロトコルモジュールに影響する 修正のため,念のため情報共有します. # パッチはまだ書いていません sslid モジュール側の hashmap に対する,これ以上の高速化手法が 見あたらないため,仕方なく replication 機能に手を入れます. 【方式】 l7vs_protomod 構造体に,l7vs_replication_get_status() への インタフェイスを追加する. # protomod.c:l7vs_protomod_load あたりでアドレスを放り込む → 各プロトコルモジュール内で replication の状態によって バッファへの書き出しや書き戻しを止めることができる → sslid モジュール内で状態を判定し,replication 関連処理が 必要なければスキップする. → replication off 時の高速化が図れる. 【メリット】 replication を使用するモジュールについて,off 時の高速化が図れる. sslid モジュールについては,相当の効果があると予想する. 【デメリット】 特になし・・・? 4 月 24 日までにはパッチを作って出したいと思っているので, 問題がありそうであれば,それまでによろしくお願いします. 後になってから「前から思ってたんだけど」はナシの方向で. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takebayashi.shinya @ oss.ntt.co.jp GPG ID: 395EFCE8 GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 ----------------------------------------------------------- From tanuma.kouhei @ nttcom.co.jp Fri Apr 17 16:26:27 2009 From: tanuma.kouhei @ nttcom.co.jp (Kouhei TANUMA) Date: Fri, 17 Apr 2009 16:26:27 +0900 Subject: [Ultramonkey-l7-develop 329] Re: =?iso-2022-jp?b?c3NsaWQgGyRCJWIlOCVlITwlayROQC1HPU50Mj0bKEI=?= =?iso-2022-jp?b?GyRCJEtCUCQ5JGtCUD1oJEskRCQkJEYbKEI=?= In-Reply-To: References: Message-ID: <20090417155545.14C3.CDFA0AA6@nttcom.co.jp> 竹林さん 田沼です。 ちょっとソースを見たのですが影響が出てるのは hash_construct_sessionlist (CSSLIDMap::construct_sessionlis) でしょうか? replication を使うかどうかは replication_addr が NULL か どうかで判断できるように思えるので以下の修正ではダメでしょうか? % svn diff Index: protomod_sslid.c =================================================================== --- protomod_sslid.c (リビジョン 1092) +++ protomod_sslid.c (作業コピー) @@ -709,7 +709,8 @@ hash_setPointer(sslid_service->hash_map, sslid_service->hash_list, sslid_service->maxlist); id_c_str(id_str, &response[44]); hash_add(id_str, *conn->dest); - hash_construct_sessionlist(sslid_service); + if (sslid_service->replication_addr) + hash_construct_sessionlist(sslid_service); l7vs_protomod_sslid_write_replication_data(sslid_service); } On Fri, 17 Apr 2009 15:20:29 +0900 Shinya TAKEBAYASHI wrote: > 竹林です. > > > sslid モジュールについて,replication を入れた版から性能が劣化したと > 報告を受けました. > > 下記の方針で修正する予定ですが,すべてのプロトコルモジュールに影響する > 修正のため,念のため情報共有します. > # パッチはまだ書いていません > > sslid モジュール側の hashmap に対する,これ以上の高速化手法が > 見あたらないため,仕方なく replication 機能に手を入れます. > > > 【方式】 > > l7vs_protomod 構造体に,l7vs_replication_get_status() への > インタフェイスを追加する. > # protomod.c:l7vs_protomod_load あたりでアドレスを放り込む > > → 各プロトコルモジュール内で replication の状態によって > バッファへの書き出しや書き戻しを止めることができる > > → sslid モジュール内で状態を判定し,replication 関連処理が > 必要なければスキップする. > > → replication off 時の高速化が図れる. > > > 【メリット】 > > replication を使用するモジュールについて,off 時の高速化が図れる. > sslid モジュールについては,相当の効果があると予想する. > > > 【デメリット】 > > 特になし・・・? > > > 4 月 24 日までにはパッチを作って出したいと思っているので, > 問題がありそうであれば,それまでによろしくお願いします. > > 後になってから「前から思ってたんだけど」はナシの方向で. > > ----------------------------------------------------------- > Shinya TAKEBAYASHI > > E-mail: takebayashi.shinya @ oss.ntt.co.jp > GPG ID: 395EFCE8 > GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 > ----------------------------------------------------------- > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > From takebayashi.shinya @ oss.ntt.co.jp Fri Apr 17 17:17:11 2009 From: takebayashi.shinya @ oss.ntt.co.jp (Shinya TAKEBAYASHI) Date: Fri, 17 Apr 2009 17:17:11 +0900 Subject: [Ultramonkey-l7-develop 330] Re: =?iso-2022-jp?b?c3NsaWQgGyRCJWIlOCVlITwlayROQC1HPU50Mj0bKEI=?= =?iso-2022-jp?b?GyRCJEtCUCQ5JGtCUD1oJEskRCQkJEYbKEI=?= In-Reply-To: <20090417155545.14C3.CDFA0AA6@nttcom.co.jp> References: <20090417155545.14C3.CDFA0AA6@nttcom.co.jp> Message-ID: 田沼 さま 竹林です. 色々とありがとうございます. > ちょっとソースを見たのですが影響が出てるのは > hash_construct_sessionlist (CSSLIDMap::construct_sessionlis) > でしょうか? construct と rebuild の両方です. どちらも replication 関連の処理ですが・・・. > replication を使うかどうかは replication_addr が NULL か > どうかで判断できるように思えるので以下の修正ではダメでしょうか? すっかり見落としていました. l7vs_replication_pay_memory() を追っていたら,確かに OUT と SINGLE の場合は NULL を返していますね. この手が使えそうです. ちょっとやってみます. あと,maxlist に当たった時に,希に SEGV ることが確認できたので この辺りも見直します・・・. ----------------------------------------------------------- Shinya TAKEBAYASHI E-mail: takebayashi.shinya @ oss.ntt.co.jp GPG ID: 395EFCE8 GPG FP: 58B2 B5D0 A692 1BD8 328B E31E E027 AC35 395E FCE8 -----------------------------------------------------------