[Seasar-user:9488] Re: s2-2.4.10以降で、Daoが初回動作する際に遅くなった

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 7月 27日 (金) 00:00:21 JST


小林 (koichik) です.

Date:    Thu, 26 Jul 2007 23:28:02 +0900
From:    Tetsuya Toba <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9487] Re: s2-2.4.10以降で、Daoが初回動作する際に遅くなった

> 採取しました。

遅い時間にわざわざありがとうございました.

> あれから、少しOracleのメモリ使用量を減らしてみたのですが、ミニ環境では誤
> 差の範囲(数十ミリ秒)に収まってしまいました。(=_=)
> 2.4.9と2.4.10には、根本的な違いはなさそうですね。

そうですね.
前回違いの大きかった SyokuinZyohoKihon01Dto で差がなくなって,
差がなかった KengenMasterDto の差が大きくなっているので,
S2 のバージョンの違いよりも環境の影響が大きそうですね.
それぞれ 5 回くらい測定してベストとワーストを除いた平均で
評価するとかしていればよかったかも.

ともあれ (JW),遅いのはカラム情報を取ってくるところですね.
ここって結局カラムの型を取得しているだけなので,
エンティティや Dto のプロパティの型から決めることができれば
初期化は大幅に早くできるはず.
メタデータを使わずにプロパティから型を決めるような
オプションを S2Dao に追加できるといいんじゃないかな>S2Dao チーム

主キーの方はネックじゃなさそうなので現状のままでもよさげ.

> ところで、サーバでのログを見ると1つのDaoで物理的なコネクションを2つ使っ
> ているようなのですが、これは正しい動きなのでしょうか?

おそらくトランザクションが開始されていないのだと思います.
本来なら Dao へのアクセスが始まる前に「トランザクションを
開始しました」というメッセージが出ているはずですが,
出ていませんよね?
Page クラスなり Service クラスなり,適切なところに
トランザクションを設定してください.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内