Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

トランザクションサービスの設定

トランザクションマネージャーを使えば、分散トランザクションのコミットおよびロールバックを行えます。

分散トランザクションシステムは、トランザクションアクティビティーをトランザクションログに書き込み、あとで回復を実行できるようにします。ただし、トランザクションログへの書き込みを行うと、パフォーマンスがある程度低下します。

トランザクションサービスの監視

トランザクションマネージャーの監視はデフォルトで無効になっています。管理コンソールでトランザクションサービスの監視を有効にするには、「設定」>「config-name」>「監視」を選択します。

また、次のコマンドを使って監視を有効にすることもできます。

set serverInstance.transaction-service.monitoringEnabled=true
reconfig serverInstance

監視情報の表示

トランザクションサービスの監視を有効にした場合、その結果を表示するには次のようにします。

トランザクションサービスに関する次の統計が収集されます。

次に、asadmin を使用した場合の出力のサンプルを示します。

********** Stats for JTS ************
 total-tx-completed = 244283
 total-tx-rolled-back = 2640
 total-tx-inflight = 702
 isFrozen = False
 inflight-tx =
 Transaction Id , Status, ElapsedTime(msec)
 000000000003C95A_00, Active, 999

トランザクションサービスのチューニング

回復よりもパフォーマンスが格段に重要であるような場合に、このプロパティーを使えば、トランザクションロギングを無効にすることができます。このプロパティーはデフォルトでは、サーバー設定内に存在しません。

分散トランザクションロギングの無効化

管理コンソールで分散トランザクションロギングを無効にするには、「設定」>「config-name」>「トランザクションサービス」を選択します。「プロパティーを追加」をクリックし、次のように指定します。

再起動で回復 (自動回復)

管理コンソールで「再起動で回復」属性を設定するには、「設定」>「config-name」>「トランザクションサービス」を選択します。「回復」チェックボックスをクリックして true (チェックされた状態、デフォルト) または false (チェックが解除された状態) に設定します。

また、asadmin を使って自動解除を設定することもできます。次に例を示します。

asadmin set server1.transaction-service.automatic-recovery=false

「再起動で回復」が true の場合、「分散トランザクションロギングの無効化」属性の値に関係なく、サーバーは常にトランザクションロギングを実行します。

「再起動で回復」が false の場合は次のようになります。

キーポイント間隔

「キーポイント間隔」は、完了したトランザクションのエントリをログファイルから削除する頻度を決定します。キーポイント処理を使えば、プロセスログが無制限に増大するのを防ぐことができます。

頻繁なキーポイント処理はパフォーマンスに悪影響を及ぼします。キーポイント間隔のデフォルト値は 2048 ですが、ほとんどの場合はこれで十分です。