9.1.1 パフォーマンスチューニングの観点
バッチアプリケーション実行基盤のパフォーマンスチューニングは,次の観点で実施します。
-
データベースアクセス方法の最適化
-
タイムアウトの設定
-
フルガーベージコレクションを発生させるメモリ使用量のしきい値の設定
それぞれのポイントについて説明します。
(1) データベースアクセス方法の最適化
データベースアクセス方法の最適化は,生成に時間が掛かるコネクションやステートメントをプールしておくことで,データベースアクセス時のオーバーヘッドを削減することを目的とします。
パフォーマンスチューニングでは,次に示す機能を有効に活用することで,データベースアクセス処理を最適化し,スループットを向上させます。
-
コネクションプーリング
-
ステートメントプーリング(PreparedStatementおよびCallableStatementのプーリング)
データベースアクセス方法は,データベースとの接続にDB Connectorを使用している場合に最適化できます。
(2) タイムアウトの設定
タイムアウトの設定は,システムのトラブル発生を検知して,リクエストの応答が返らなくなることを防ぎ,適宜リソースを解放することを目的とします。
設定できるタイムアウトには,次の種類があります。
-
Enterprise Beanを呼び出す時のタイムアウト
-
トランザクションのタイムアウト
-
データベースのタイムアウト
(3) フルガーベージコレクションを発生させるメモリ使用量のしきい値の設定
フルガーベージコレクションの制御で使用するしきい値は,オンライン処理とバッチ処理で同じリソースを使用する場合に設定します。バッチサーバのフルガーベージコレクションによってオンライン処理を中断させないことを目的とします。
フルガーベージコレクションの実行を制御することによって,リソースを排他していないタイミングで適切にフルガーベージコレクションを実行できます。