ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング
11g リリース1 (10.3.6)
B61002-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストヘ移動
製品
目次へ移動
目次

前
 
次
 

13 トランザクションのチューニング

この章では、トランザクションの最適化に関する背景知識とチューニングについて説明します。

ロギング・ラスト・リソース・トランザクションの最適化

JDBCデータ・ソースを通じてロギング・ラスト・リソース(LLR)のトランザクションの最適化を行うと、データベースの挿入、更新、削除などを含む2フェーズ・トランザクションに関するオーバーヘッドを、安全に軽減できます。2フェーズ・トランザクションは、別の2つのリソースが同じグローバル・トランザクション(「XA」または「JTA」トランザクションとも呼ばれる)に参加する場合に発生します。次のことを考慮してください。

『Oracle WebLogic Server JTAのプログラミング』のロギング・ラスト・リソース・トランザクションの最適化に関する項を参照してください。

LLRチューニング・ガイドライン

この項では、LLRのチューニングのガイドラインを示します。

  • 『Oracle WebLogic Server JTAのプログラミング』のロギング・ラスト・リソース・トランザクションの最適化に関する項、および『Oracle WebLogic Server JDBCデータ・ソースの構成と管理』のLLRデータ・ソースに関するプログラミング上の考慮事項と制限事項に関する項を読んで理解することをお薦めします。LLRを使用すると、管理および設計に重要な影響を与える場合があります。

  • JDBC LLRを使用すると、SQLのupdate、delete、またはinsertを含んだ2フェーズ・トランザクションのパフォーマンスは通常、向上します。

  • LLRを使用すると、SQLがすべて読取り(select)のみの2フェーズ・トランザクションのパフォーマンスは通常、低下します。

  • JDBC LLRのプールはWebLogic JDBCストアに対しパフォーマンス上の利点を持たません。WebLogic JDBCストアはトランザクションに完全に対応していますが、その内部のJDBC接続ではJTA (XA)トランザクションが使用されません。

  • コネクタ用の「最後のエージェント」による最適化や、JDBC接続プール用の「2フェーズ・コミットのエミュレート」オプション(従来の名称は、非XAドライバを使用するプール用の「2フェーズ・コミットを有効化」)といった比較的安全性の低い手法の代わりに、LLRの使用を検討します。

  • OracleデータベースではLLR表を多用すると長期的に断片化が起こる場合があり、未使用範囲の発生につながることがあります。これは、LLR表のデータが一時的な性質を持つことにより発生していると考えられます。この問題を回避するには、LLR表においてPCT_FREEを5、PCT_USEDを95に設定します。または、ALTER TABLESPACE [tablespace-name ] COALESCEコマンドを使用して定期的なデフラグを行います。

読取り専用の1フェーズ・コミットの最適化

Oracle Database (Oracle AQやOracle RACを含む)などのリソース・マネージャが、読取り専用の最適化を提供するとき、Oracle WebLogicは読取り専用の1フェーズ・コミットの最適化を提供します。同一のXAトランザクションの複数接続を有効化するときでさえも、Oracle WebLogicやリソース・マネージャの両方でXAResource.prepareネットワーク呼出しやトランザクション・ログの書込みを削除するなど、これにはかなりのメリットがあります。

『Oracle WebLogic Server JTAのプログラミング』の読取り専用の1フェーズ・コミットの最適化に関する項