Universal JDBCドライバのタイプ2とタイプ4の性能比較
前述のとおり、Universal JDBCドライバは、タイプ2とタイプ4の2つをサポートしています。タイプ2ドライバとタイプ4ドライバのパフォーマンス性能比較は、ケースによって異なります。WASとDB2サーバとの間の接続数を考慮することにより、どちらのタイプが性能的に有利かを判断できる場合があります。
一般的には、接続数が多いケースでは、タイプ4ドライバがタイプ2ドライバよりも性能面で有利であるといわれています。
リモートDB vs ローカルDB
ただし、DB2サーバがWASと同一筐体上で稼働している場合(ローカルDBへのアクセス)には、タイプ2ドライバの方が性能面で優れているケースが多いです。
XAドライバとNon-XAドライバの比較
2フェイズ・コミット・トランザクションが必要となるケースでは、必要なリソースのコーディネートを行うために、XA対応JDBCドライバを使用することになります。これは、「実装タイプ」として「XAデータソース」を選択することで指定できます(図6参照)。
一般に、XA対応JDBCドライバには、XAトランザクションに対応するために、複数のリソースのコーディネートや管理を行うための追加のロジックが含まれています。
そのため、Non-XAドライバと比較するとパフォーマンス性能としては不利になります。いい換えれば、2フェイズ・コミットが不必要なケースにおいては、Non-XAドライバを使用することにより、パフォーマンス性能のオーバーヘッドを削減できます。これは、実装タイプとして「接続プール・データソース」を選択することにより指定できます(図7参照)。
コラム 「Oracleとの接続」
WASと組み合わせて多く使われているOracle RDBMSとの接続に関しては、サポートされているJDBCドライバ・タイプ(Oracle製)は前述のとおり、タイプ2とタイプ4の2つです。最近では、多くのケースでタイプ4を利用しているようです。
実装タイプとしては、Non-XA(接続プール・データソース)とXA(XAデータソース)の2種類です。従いまして、Oracleを使用している場合には、タイプ2あるいはタイプ4の選択とNon-XAドライバかXAドライバかの選択を考慮します。
データソースの設定としては、例えば、シン・ドライバー(タイプ4)の場合は 、jdbc: oracle: thin: @localhost: 1521: sample、シック・ドライバー(タイプ2)の場合はjdbc: oracle: oci8: @sample などをURLの設定に指定することになります。
データソース設定チューニング時の6つのポイント
データソースの設定をチューニングすることにより、アプリケーションとDB間のパフォーマンスを最適化します。以下に、「接続プール」および「ステートメント・キャッシュ・サイズ」の調整について解説します。
【1】接続プールの調整
接続プールは、DBサーバへの接続のオーバーヘッドを軽減します。WAS上で動くアプリケーションがDBにアクセスするたびに、DBへの接続を作成、保守、および解除するように要求します。WASの接続プールを利用することにより、このような処理によるリソース全体に掛かる負荷を軽減できます。接続プールは、アプリケーション内からの直接のJDBC呼び出しに使用できますし、DBを使用するEJBからも使用できます。
【2】接続プールの利点
接続プールにより、DB接続を必要とするアプリケーションの応答時間を短縮できます。接続プールを使用すると、データソースは接続プールから既存の接続を探し出し、それを使用できるため、新規DB接続を作成する場合のオーバーヘッド発生を抑制できます。
DB接続要求が完了し、レスポンスがクライアントに戻ると、DB接続を接続プールに戻して再使用に備えることができます。そして、接続切断のオーバーヘッドも発生しません。
Copyright © ITmedia, Inc. All Rights Reserved.