Hitachi

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


17.21.1 Connectionオブジェクトの容量見積もり

Connectionオブジェクトの容量見積もりの計算式を次に示します。

計算式(32ビットモードの場合)
Connectionオブジェクトの容量=
 70000+(11000+送信バッファ長+受信バッファ長+不正電文トレース出力電文長)×Connectionインスタンス数
  (単位:バイト)
計算式(64ビットモードの場合)
Connectionオブジェクトの容量=
 304000+(14000+送信バッファ長+受信バッファ長+不正電文トレース出力電文長)×Connectionインスタンス数
  (単位:バイト)
〈この項の構成〉

(1) 送信バッファ長

送信バッファ長は,次に示す計算式から求めてください。複数のSQL文を実行する場合,SQL文ごとに送信バッファ長を求め,最大値を使用します。

送信バッファ長=
 MAX(A,
   ↑(240+SQL文長+ユーザ付加情報長)÷4096↑×4096,
   ↑(240+入力パラメタ情報長+出力パラメタ情報長
   +ユーザ付加情報長)÷4096↑×4096)
A:次のどちらかになります。

次のすべての条件を満たす場合:SEND_BUFFER_SIZEの指定値×1024

  • コネクションプーリング(ConnectionPoolDataSource又はXADataSourceを使用した接続)を使用している

  • SEND_BUFFER_SIZE(システムプロパティHiRDB_for_Java_SEND_BUFFER_SIZE,又はDataSource系インタフェースのsetSendBufferSizeメソッド)に0以外を指定している

上記以外の場合:32768

SQL文長:SQL文(String)をHiRDBサーバの文字コードに変換した長さ

ユーザ付加情報長:ユーザ付加情報1,2,3の長さの合計

Connection.setHiRDB_Audit_Infoを使用する場合に加算してください。

ユーザ付加情報1:次に示す計算式から求めてください。

16+ユーザ付加情報1(String)をHiRDBサーバの文字コードに変換した長さ

ユーザ付加情報2:次に示す計算式から求めてください。

16+ユーザ付加情報2(String)をHiRDBサーバの文字コードに変換した長さ

ユーザ付加情報3:次に示す計算式から求めてください。

16+ユーザ付加情報3(String)をHiRDBサーバの文字コードに変換した長さ

入力パラメタ情報長:入力パラメタがある場合に次に示す計算式から求めて加算してください。
  入力パラメタ数
24 + Σ (16+入力データ長i )
   i=1

入力パラメタ数:次に示します。

オブジェクト

入力パラメタ数

PreparedStatement

?パラメタ数

CallableStatement

INパラメタ及びINOUTパラメタ数

入力データ長:setXXXメソッドで設定したデータの実長

setStringメソッドで設定した場合はHiRDBサーバの文字コードに変換した長さです。

出力パラメタ情報長:検索系SQLの実行,又はストアドプロシジャを実行してOUTパラメタ又はINOUTパラメタ値を取得する場合に次に示す計算式から求めて加算してください。

24+16×出力パラメタ数

出力パラメタ数:検索系SQLを実行する場合は検索列数です。ストアドプロシジャを実行する場合はOUTパラメタ及びINOUTパラメタの合計数です。

(2) 受信バッファ長

受信バッファ長は,次に示す計算式から求めてください。複数のSQL文を実行する場合,SQL文ごとに受信バッファ長を求め,最大値を使用します。

受信バッファ長=
 MAX(A,
   ↑(240+52×(入力パラメタ数+出力パラメタ数))÷4096↑×4096,
   (↑(240+位置付け子機能によるアクセス時の出力データ長)÷4096↑×4096)
注※

次のどちらかの指定によって,位置付け子機能を使用してアクセスする場合に求めてください。

  • DriverManager.getConnectionの引数のurl,又はユーザプロパティのLONGVARBINARY_ACCESSでLOCATORを指定

  • DataSource系インタフェースのsetLONGVARBINARY_AccessメソッドでLOCATORを指定

A:次のどちらかになります。

次のすべての条件を満たす場合:RECEIVE_BUFFER_SIZEの指定値×1024

  • コネクションプーリング(ConnectionPoolDataSource又はXADataSourceを使用した接続)を使用している

  • RECEIVE_BUFFER_SIZE(システムプロパティHiRDB_for_Java_RECEIVE_BUFFER_SIZE,又はDataSource系インタフェースのsetReceiveBufferSizeメソッド)に0以外を指定している

上記以外の場合:32768

入力パラメタ数:次に示します。

オブジェクト

入力パラメタ数

Statement

0

PreparedStatement

?パラメタ数

CallableStatement

INパラメタ及びINOUTパラメタ数

出力パラメタ数:求め方は,送信バッファ長の出力パラメタ数と同じです。

位置付け子機能によるアクセス時の出力データ長:次のどちらかの値となります。
  • HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEに0以外を指定している場合

    次に示す計算式から求めてください。

    HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE指定値×1024

  • HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEに0を指定,又は省略している場合

    BLOB又はBINARY型の列に格納されているデータの実長

(3) 不正電文トレース出力電文長

HiRDB_for_Java_DataErrSize指定値

詳細については「不正電文トレースを取得するためのシステムプロパティの設定」を参照してください。