14.2 セッション・データ・ユニットの構成
通常のデータベースの構成では、Oracle Netはデータをネットワークへ送出する前にカプセル化して、セッション・データ・ユニット(SDU)のサイズでバッファに格納します。
Oracle Netがそれぞれのバッファを送信するのは、バッファがいっぱいになったとき、フラッシュされたとき、またはアプリケーションがデータの読取りを試行したときです。任意のある時点で送信するためにOracle Netに送られるデータ量を基準にSDUバッファのサイズを調整すると、パフォーマンス、ネットワーク使用率およびメモリー消費を改善できます。大量のデータを転送するときは、SDUのサイズを大きくすることによって、パフォーマンスおよびネットワークのスループットを改善できます。特定のデプロイメントで高いスループットを達成できるようにSDUを調整できます。
任意のある時点で送信するためにOracle Netに送られるデータの量は、メッセージ・サイズとも呼ばれます。
設定できるSDUサイズの範囲は、512
バイトから2
MBまでです。サイズの範囲が広いため、ネットワーク管理者は、特定のデプロイメントで最適なネットワーク・パフォーマンスを発揮できるように、SDUのサイズをチューニングできます。SDUサイズの値を大きくすると、多くのメモリーが必要になります。
クライアントのデフォルトのSDUサイズは8192
バイトであり、サーバーは65536
バイトです。
使用される実際のSDUサイズは、接続時にクライアントとサーバー間でネゴシエートされ、クライアントとサーバーの各SDU値より小さい値になります。デフォルト以外のSDUサイズを構成する場合は、共有サーバーを使用している場合を除き、クライアントとサーバーの両方のコンピュータでSDUを構成する必要があります。
大半のメッセージ・サイズが8192
バイトより小さい場合または大きい場合は、SDUサイズの変更を検討する必要があります。SDUサイズは、大半のメッセージ・サイズより70
バイト大きい値にします。大半のメッセージ・サイズに70
バイトを加えると最大SDUを超える場合は、そのメッセージ・サイズを最小限の数に等分割し各分割がSDUサイズより70
バイト少なくなるように、SDUを設定します。デフォルトを変更するには、sqlnet.ora
ファイル内でDEFAULT_SDU_SIZE
パラメータを変更します。
たとえば、アプリケーションで送受信されるメッセージの大半が8
KB未満の場合は、オーバーヘッドのために70
バイトを考慮してから、SDUを8
KBに設定すれば適切になります。利用可能なメモリーが十分にある場合は、SDUの最大値を使用すると、システム・コール数やOracle Net Servicesのオーバーヘッドを最小限に抑えることができます。
親トピック: パフォーマンスの最適化
14.2.1 データベースのSDUサイズの設定
データベース・サーバーのSDUサイズを構成するには、次のファイルを構成します。
-
sqlnet.ora
次のように、
sqlnet.ora
ファイルでDEFAULT_SDU_SIZEパラメータを構成します。DEFAULT_SDU_SIZE=32767
-
初期化パラメータ・ファイル
共有サーバー・プロセスを使用している場合、SDUのサイズを初期化パラメータ・ファイルのDISPATCHERSパラメータで次のように設定します。
DISPATCHERS="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp))(SDU=8192))"
-
listener.ora
listener.ora
ファイルのターゲットのリストを使用してリスナーを構成した場合は、専用サーバー・プロセスを使用する際に、sqlnet.ora
ファイルの現在の設定がSID_LISTパラメータのSDUの値で上書きされます。
親トピック: セッション・データ・ユニットの構成
14.2.2 クライアントのSDUサイズの設定
クラインとのSDUサイズを構成するには、次のファイルを構成します。
-
sqlnet.ora
クライアント側のグローバル構成用に、次のように、
sqlnet.ora
ファイルでDEFAULT_SDU_SIZEパラメータを構成します。DEFAULT_SDU_SIZE=32767
-
tnsnames.ora
特定の接続記述子では、DESCRIPTIONパラメータでSDUパラメータを指定できます。
sales.us.example.com= (DESCRIPTION= (
SDU=11280)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com)) )
SDUサイズは、特定の接続記述子のすべてのOracle Netプロトコルに適用されます。
親トピック: セッション・データ・ユニットの構成