[Seasar-user:4713] Re: S2ContainerImpl#internalGetComponentDef のsynchronizedについて
Amatatsu Tetsurou
[E-MAIL ADDRESS DELETED]
2006年 9月 27日 (水) 17:19:18 JST
天辰です。
> まもなくリリースされる S2.3.12 では internalGetComponentDef() の
> synchronized は外されますが,大量にインクルードしている
早速ご対応いただきありがとうございます。
あまりの対応の早さに驚くばかりです。
本日、S2.3.12を使用して再度負荷テストを実施し問題が解決しましたので
ご報告までに投稿させていただきました。
以上
> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
> Sent: Friday, September 22, 2006 8:31 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:4688] Re: S2ContainerImpl#internalGetComponentDef のsynchronizedについて
>
> 小林 (koichik) です.
>
> Date: Fri, 22 Sep 2006 19:26:11 +0900
> From: "Amatatsu Tetsurou" <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:4686] Re: S2ContainerImpl#internalGetComponentDef のsynchronizedについて
>
> > 天辰です。
> > 小林さんからのご質問に回答させていただきます。
>
> ありがとうございました.
> 今回 S2ContainerImpl#internalGetComponentDef() が
> ネックになったのは,呼び出し回数があまりにも多いのが
> 原因ですね.
>
> > また、直接的な上記の回答にはなりませんが、上記パターンでの
> > S2ContainerImpl#internalGetComponentDefの呼び出し回数をカウントしたところ結果は以下になりました。
> > ・ログインページ→メインページ間での呼び出し回数:21344
> > ・メインページ→他ページ間での呼び出し回数:200385
>
> これだけ多く internalGetComponentDef() が呼び出されると,
> 競合も激しくなってしまいます.
> internalGetComponentDef() の呼び出し回数が多くなっているのは
> おっしゃるように,
>
> > よく調べていないのですなんとも言えないのですがdiconファイルを先頭から何度も線形検索しているように思われます。
>
> ということが原因です.
> S2.3 ではコンテナ内に登録されているコンポーネントは
> マップから検索しますが,見つからなければインクルードしている
> コンテナに順次問い合わせをするため,効率がよくありません.
> そのため,小さな dicon ファイルを多数作成するのは
> パフォーマンス上不利になります.
>
> この問題については以下でも報告されているので参考までにどうぞ.
>
> http://ml.seasar.org/archives/seasar-dev/2006-March/000290.html
>
>
> > DIの設定については以下の通りです。
> > システム内のdiconファイルの数:325ファイル
> > システム内のコンポーネント宣言数:840
>
> ということは,1 つの dicon ファイルにコンポーネントが
> 2〜3 個しか登録されていないようですね.
> もう少し dicon ファイルに多くのコンポーネントを登録
> するようにして,数を減らしていただいたほうが S2.3 では
> 無難かもしれません.
>
> まもなくリリースされる S2.3.12 では internalGetComponentDef() の
> synchronized は外されますが,大量にインクルードしている
> コンテナからコンポーネントを検索するのがあまり効率
> よくないことに変わりはないので.
>
> なお,S2.4 ではインクルードしているコンテナに登録
> されているコンポーネントもマップで管理するように
> なっているため,dicon ファイルの数が多くても
> パフォーマンスへの影響はありません.
>
>
> --
> <signature>
> <name>Koichi Kobayashi</name>
> <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> </signature>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内