[Seasar-user:6172] Re: [DBFlute] 初回テーブルアクセスについて

kubo [E-MAIL ADDRESS DELETED]
2007年 2月 14日 (水) 18:16:12 JST


久保です。

> 初回テーブルアクセスについて、
> 論理的なコネクションの「取得」と「閉じる」が多数発生している
> ようで、アクセスが遅いのですが、
> 何かお気づきの点など、ございませんでしょうか。
> 
> 論理的なコネクションの回数を減らして初回アクセスの
> 速度を上げることなど可能でしょうか。

こちらの動きを説明させて頂きます。

初回アクセス時に、S2Daoが該当Daoのメソッドを初期化します。
その時、そのDaoクラスに定義されたメソッド分の初期化が走り、
メソッドの初期化毎に内部でDBメタ情報を取得するため、
提示させて頂いたログのようなことになります。


現状、S2Daoの仕様として「Daoクラス単位での初期化」と
なっていますゆえ、初回アクセス時のPerformane劣化は
避けられない状況であります。

DBFluteは、S2Daoを一部拡張していますので、
そこを「メソッド単位での初期化」に修正することで
もしかしたら回避できるかもしれません。
が、S2Dao自体の仕様としてどうするかを検討してもいい部分かもしれません。
(S2DaoとDBFluteで動きを変えるというのは極力したくないと
 考えていますもので...)


こちら、「どうしても初回アクセスを速くしなければリリースできない」
というような状況でしょうか?
(もちろん速い方がいいとは思いますが...)
検討に少々時間が掛かりそうなので。


#
# リリース時の初回アクセスよりもそうですが、
# JUnitによる自動テストを行う際により目立ったPerformance劣化に
# なってしまいますね。。。
#

-- 
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
kubo   <[E-MAIL ADDRESS DELETED]>
jflute <http://d.hatena.ne.jp/jflute>
株式会社ビルドシステム <http://www.buildsystem.co.jp>
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/





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