Hitachi

ノンストップデータベース HiRDB Version 9 UAP開発ガイド


17.9.2 バッファに関する接続情報の設定

指定できるシステムプロパティを次の表に示します。

表17‒98 バッファに関するシステムプロパティ

プロパティ名

指定内容

HiRDB_for_Java_SEND_BUFFER_SIZE

コネクションプーリングを使用している場合,コネクションが保持する送信バッファの初期サイズを指定します。

HiRDB_for_Java_RECEIVE_BUFFER_SIZE

コネクションプーリングを使用している場合,コネクションが保持する受信バッファの初期サイズを指定します。

〈この項の構成〉

(1) HiRDB_for_Java_SEND_BUFFER_SIZE

コネクションプーリングを使用している場合(ConnectionPoolDataSource又はXADataSourceを使用した接続),コネクションが保持する送信バッファの初期サイズを指定します。これによって,Connection.close実行時に送信バッファのサイズが初期値より大きくなっている場合は,保持しているバッファを解放して初期値サイズのバッファを確保します。

Type4 JDBCドライバでは,サーバへの電文の送信のために送信バッファを確保します。このバッファサイズの初期値は32キロバイトです。このサイズを超える電文の送信が発生した場合,電文を格納できるバッファサイズを確保し直しそのまま保持します。そのため,コネクションプーリングを使用してBLOBやBINARYなどの長大データを扱うと,以降のコネクションでも長大なサイズの送信バッファを保持したままとなり,Javaヒープ領域を圧迫してしまうことがあります。このような場合に,このプロパティを指定をすることでJavaヒープ領域の使用量を抑えることができます。

なお,送信バッファサイズの最大値は,「送信バッファ長」の見積もり値となります。

【指定値】

送信バッファの初期サイズをキロバイト単位で指定します。

0:送信バッファサイズの初期値は32キロバイトになります。Connection.close実行時,バッファの再確保はしないで,確保済みのバッファをそのまま保持します。

32〜2097151:送信バッファサイズの初期値は指定値になります。Connection.close実行時,コネクションが保持している送信バッファのサイズが初期値より大きくなっている場合は,保持しているバッファを解放して初期値サイズのバッファを確保します。

上記以外:指定が省略されたものとします。

なお,指定値が大き過ぎると最初のバッファの確保に時間が掛かってしまうため,32キロバイトの指定を推奨します。

【省略値】

この指定を省略した場合は,DataSource系インタフェースのsetSendBufferSizeメソッドの指定値が有効になります。DataSource系インタフェースのsetSendBufferSizeメソッドの指定がない場合,0が指定されたものとします。

【指定の目安】

コネクションプーリングを使用していて,一時的に長大データを扱う場合はこのプロパティを設定してください。常に長大データを扱う場合は,バッファの解放や再確保によるオーバヘッドが増加してしまうため,このプロパティの設定はしないでください。

(2) HiRDB_for_Java_RECEIVE_BUFFER_SIZE

コネクションプーリングを使用している場合(ConnectionPoolDataSource又はXADataSourceを使用した接続),コネクションが保持する受信バッファの初期サイズを指定します。これによって,Connection.close実行時に受信バッファのサイズが初期値より大きくなっている場合は,保持しているバッファを解放して初期値サイズのバッファを確保します。

Type4 JDBCドライバでは,サーバからの電文の受信のために受信バッファを確保します。このバッファサイズの初期値は32キロバイトです。このサイズを超える電文の受信が発生した場合,電文を格納できるバッファサイズを確保し直しそのまま保持します。そのため,コネクションプーリングを使用してBLOBやBINARYなどの長大データを扱うと,以降のコネクションでも長大なサイズの受信バッファを保持したままとなり,Javaヒープ領域を圧迫してしまうことがあります。このような場合に,このプロパティを指定をすることでJavaヒープ領域の使用量を抑えることができます。

なお,受信バッファサイズの最大値は,次の見積もり値の大きい方の値になります。

【指定値】

受信バッファの初期サイズをキロバイト単位で指定します。

0:受信バッファサイズの初期値は32キロバイトになります。Connection.close実行時,バッファの再確保はしないで,確保済みのバッファをそのまま保持します。

32〜2097151:受信バッファサイズの初期値は指定値になります。Connection.close実行時,コネクションが保持している受信バッファのサイズが初期値より大きくなっている場合は,保持しているバッファを解放して初期値サイズのバッファを確保します。

上記以外:指定が省略されたものとします。

なお,指定値が大き過ぎると最初のバッファの確保に時間が掛かってしまうため,32キロバイトの指定を推奨します。

【省略値】

この指定を省略した場合は,DataSource系インタフェースのsetReceiveBufferSizeメソッドの指定値が有効になります。DataSource系インタフェースのsetReceiveBufferSizeメソッドの指定がない場合,0が指定されたものとします。

【指定の目安】

コネクションプーリングを使用していて,一時的に長大データを扱う場合はこのプロパティを設定してください。常に長大データを扱う場合は,バッファの解放や再確保によるオーバヘッドが増加してしまうため,このプロパティの設定はしないでください。