Cosminexus 簡易構築・運用ガイド
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
付録H.1 JDBCのメモリサイズの計算式に使用するデータのサイズ
(1) Connectionオブジェクトサイズ
Connection オブジェクトサイズ(単位バイト)の計算式を次に示します。
Connectionオブジェクトサイズ=1223500※1+(80364※1+bufSizeの値※2×1024)×Connectionインスタンス数※3
- 注
- Connectionオブジェクトサイズとして,次のどちらかのタイミングで「bufSizeに指定した値 × 生成したコネクション数分のメモリ」をJavaヒープ領域に確保します。
- コネクションプールのウォーミングアップ機能使用時
- 初回getConnection()発行時
- bufSizeに必要以上に大きな値を設定すると,Connectionオブジェクトサイズ分のメモリを確保したときにJavaヒープを使い切り,OutOfMemoryErrorが発生するおそれがあります。
- HiRDBのBLOB型データやBINARY型データへアクセスする場合は,bufSizeに大きな値を指定しないで,HiRDBの位置付け子機能を使用することを検討してください。HiRDBの位置付け子機能については,マニュアル「HiRDB 解説」を参照してください。
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- bufSizeのデフォルト値は64です。
- 注※3
- Connectionインスタンス数とは,同時接続数のことです。
(2) Statementオブジェクトサイズ
Statementオブジェクトサイズ(単位バイト)の計算式を次に示します。
Statementオブジェクトサイズ=1000※1+1400※1×Statementインスタンス数※2
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- Statementインスタンス数とは,システム全体で同時に使用するStatement数です。システム全体でStatementオブジェクトを使用しないときは0になります。
(3) ResultSetオブジェクトサイズ
ResultSetオブジェクトサイズは,接続先のデータベースがOracle8i以降で,BLOB,CLOBの列属性がある表を検索した場合と,それ以外の処理を実行した場合で異なります。それぞれの場合の,ResultSetオブジェクトサイズ(単位バイト)の計算式を次に示します。
- 接続先のデータベースがOracle8i以降で,BLOB,CLOBの列属性がある表を検索した場合
ResultSetオブジェクトサイズ=
2400※1+{3400※1+MIN(ROW_SIZEの値※2×1024×1024, BLOBおよびCLOBの実データ長)×2}×ResultSetインスタンス数※3
- 1.以外の処理を実行した場合
ResultSetオブジェクトサイズ=2400※1+3400※1×ResultSetインスタンス数※3
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- デフォルト値は16です。
- 注※3
- ResultSetインスタンス数とは,システム全体で同時に使用するResultSet数です。システム全体で,検索SQLを実行しない,またはResultSetオブジェクトを生成しないときは0になります。
(4) PreparedStatementオブジェクトサイズ
PreparedStatementオブジェクトサイズ(単位バイト)の計算式を次に示します。
PreparedStatementオブジェクトサイズ=
79900※1+4700※1×PreparedStatementインスタンス数※2
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- PreparedStatementインスタンス数とは,全体で同時に使用するPreparedStatement数です。システム全体でPreparedStatementオブジェクトを使用しないときは0になります。
(5) CallableStatementオブジェクトサイズ
CallableStatementオブジェクトサイズ(単位バイト)の計算式を次に示します。
CallableStatementオブジェクトサイズ=
65000※1+4700※1×CallableStatementインスタンス数※2
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- CallableStatementインスタンス数とは,全体で同時に使用するCallableStatement数です。システム全体でCallableStatementオブジェクトを使用しないときは0になります。
(6) ?パラメタの実データサイズ
?パラメタの実データサイズ(単位バイト)の計算式を次に示します。
?パラメタの実データサイズ=
9000※1+180※1×?パラメタ数※2+?パラメタのトータル長※2
- 注※1
- オブジェクトを構成する大きさであり,実行するプラットフォームおよびJDKのバージョンにより若干値が異なる場合があります。
- 注※2
- ?パラメタ数と?パラメタのトータル長は,システム全体で同時に指定する,?パラメタ数と?パラメタのトータル長です。?パラメタのトータル長は,実データの長さの総和です。?パラメタに指定する列属性ごとの実データ長を次の表に示します。
表H-3 パラメタ長一覧(JDBC内)
データベース種別 |
列属性 |
データ長(バイト) |
HiRDB |
INTEGER |
4 |
SMALLINT |
2 |
LARGE DECIMAL(m, n) |
↓(m/2)↓+1 |
FLOATまたはDOUBLE PRECISION |
8 |
SMALLFLTまたはREAL |
4 |
上記以外 |
指定した実データ長 |
ORACLE,Oracle8i |
NUMBER |
指定した実データを数値文字列で表現したときの実際の長さ |
FLOAT |
8 |
上記以外 |
指定した実データ長 |
(7) 検索データのトータルサイズ
検索データのトータルサイズ(単位バイト)は,実際のレコード長+4×(取得する列数+1)を1件のレコード長とし,検索した件数の総和になります。実際のレコード長は列属性ごとの実際のデータ長の総和です。
なお,検索データのトータルサイズは,ResultSetのタイプがスクロール可能のときだけ必要です。それ以外は0になります。
列属性ごとの実際のデータ長を次の表に示します。
表H-4 検索する列のデータ長一覧(JDBC内)
データベース種別 |
列属性 |
データ長(バイト) |
HiRDB |
INTEGER |
4 |
SMALLINT |
2 |
LARGE DECIMAL(m, n) |
↓(m/2)↓+1 |
FLOATまたはDOUBLE PRECISION |
8 |
SMALLFLTまたはREAL |
4 |
上記以外 |
データベースに格納している実データ長 |
ORACLE,Oracle8i |
NUMBER |
データベースに格納している実データを数値文字列で表現したときの実際の長さ |
FLOAT |
8 |
上記以外 |
データベースに格納している実データ長 |
(8) SQLサイズ
実際のSQLのサイズがbufSizeの値×1024バイト以上のときだけ必要です。それ以外は0になります。なお,bufSizeのデフォルト値は64です。
(9) bufSizeの値によるデータサイズ
bufSizeの値によるデータサイズ(単位バイト)の計算式を次に示します。なお,計算式は,受信バッファプール数指定機能の使用の有無によって異なります。
- 受信バッファプール数指定機能を使用しない場合
データサイズ=bufSizeの値※×1024
×(同一コネクション内に存在する,検索SQL以外を実行するStatementインスタンス数
+同一コネクション内に存在する,検索SQL以外を実行するPreparedStatementインスタンス数
+同一コネクション内に存在する,CallableStatementインスタンス数
+同一コネクション内に存在する,ResultSetインスタンス数)
- 受信バッファプール数指定機能を使用する場合
データサイズ=bufSizeの値※×1024
×(同一コネクション内で同時に使用する,検索SQL以外を実行するStatementインスタンス数
+同一コネクション内で同時に使用する,検索SQL以外を実行するPreparedStatementインスタンス数
+同一コネクション内で同時に使用する,CallableStatementインスタンス数
+同一コネクション内で同時に存在する,ResultSetインスタンス数)
- 注※ bufSizeのデフォルト値は64です。
トレースサイズの計算式(単位バイト)を次に示します。
トレースサイズ=2048×メモリ情報取得量
メモリ情報取得量とは,環境変数DAB_ONMEMNUMの値です。デフォルト値は1000です。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.