20.6. パフォーマンスのモニタリング
最適化はモニタリングやパフォーマンスを示す数値がなければ十分に行えません。 Hibernate は内部処理のすべての範囲の数値を提供します。 Hibernate の統計情報は
SessionFactory 単位で取得可能です。
20.6.1. SessionFactory のモニタリング
SessionFactory のメトリクスにアクセスするには2つの方法があります。最初の方法は、 sessionFactory.getStatistics() を呼び出し、自分で Statistics の読み込みや表示を行います。
StatisticsService MBean を有効にしていれば、Hibernate は JMX を使ってメトリクスを発行することもできます。1つの MBean をすべての SessionFactory に対して有効にするか、SessionFactory ごとに一つの MBean を有効にすることが出来ます。最小限の設定例については、以下のコードを見てください:
SessionFactory に対してモニタリングの開始や終了を行うことが出来ます。
- 設定時には、
hibernate.generate_statisticsをfalseにします
- 実行時に、
sf.getStatistics().setStatisticsEnabled(true)またはhibernateStatsBean.setStatisticsEnabled(true)を呼び出します
統計は
clear() メソッドを使ってプログラムでリセットすることが出来ます。サマリは logSummary() メソッドを使って logger に送ることが出来ます(info レベルです)。