スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

2.2.17 バッファに関するオペランド

93) pd_sql_object_cache_size = SQLオブジェクト用バッファ長
〜<符号なし整数>《(pd_max_usersの値+3)×22》(単位:キロバイト)
  • 32ビットモードの場合:((22〜256000))
  • 64ビットモードの場合:((22〜2000000))
SQLオブジェクトを格納するバッファ(共用メモリ)の大きさをキロバイト単位で指定します。
《指定値の目安》
  • SQLオブジェクトは,ユーザごとにトランザクションが終了するまでバッファに保存されます。したがって,同時に実行するトランザクションのSQLオブジェクトがバッファに格納できる大きさが必要です。
  • 静的SQLのSQLオブジェクトはトランザクション終了後もバッファに空きがなくなるまで保存して,同一UAPを実行する複数のユーザで共用することで,SQL解析処理の削減を図ります。バッファを有効に利用するためには,使用頻度の高いUAPのSQLオブジェクトがバッファに常駐するようにバッファを確保してください。
  • バッファ長の見積もり時は,まずUAPで発行するSQL文のSQLオブジェクト長からUAP実行に必要なバッファ長を見積もります。次に,同時に実行されるUAPと同時実行ユーザ数を考慮して必要なバッファ長を算出してください。
  • 1SQL文のSQLオブジェクト長の見積もり方法については,「付録C.2 SQLオブジェクト用バッファ長(pd_sql_object_cache_size)の見積もり式」を参照してください。
《指定値のチューニング方法》
SQLオブジェクト用バッファ長のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。

 

94) pd_def_buf_control_area_assign = INITIAL | TRAN
表定義情報用バッファ,ビュー解析情報用バッファ,ユーザ定義型情報用バッファ,及びルーチン定義情報用バッファの管理領域をHiRDB開始時に一括して確保するか,又はトランザクション開始時に確保するかを指定します。
INITIAL:
各種バッファの管理領域をHiRDB開始時に一括して確保します。この管理領域はHiRDBを終了するまで解放されません。
TRAN:
各種バッファの管理領域をトランザクション開始時に確保します。この管理領域はトランザクション終了時に解放されます。
《指定値の目安》
性能を重視する場合はINITIALを指定してください。トランザクション性能が向上します。ただし,TRAN指定時よりも共用メモリを多く必要とするため,メモリ所要量を見直してください。共用メモリの見積もりについては,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。

 

95) pd_thread_max_stack_size = 1スレッドが使用する最大スタックサイズ
〜<符号なし整数>((0〜OSが許容する最大スタックサイズ(最大2047)))《0》(単位:メガバイト)
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
1スレッドが使用するスタックサイズの最大値を指定します。0を指定するか,又はこのオペランドを省略した場合,1スレッドが使用するスタックサイズを制限しません。HiRDBは擬似スレッド制御をしているため,独自に確保したメモリをスタックとして割り当てています。このため,擬似スレッドに対してはOSのオペレーティングシステムパラメタのmaxssiz(Solaris及びLinuxの場合はstacksize)の値が有効となりません。maxssizの代わりにこのオペランドを指定します。
このオペランドにはmaxssiz以下の値を指定してください。
《利点》
UAPの不良,又はUAPからの複雑なSQLの要求などによって,1スレッドが多量のシステムリソースを使用することがあります。これが原因でOSがハングアップすることがあります。このオペランドを指定すると,1スレッドが使用するスタックサイズを制限できるため,OSのハングアップが防止できます。
《注意事項》
このオペランドの指定値が,OSが許容する最大スタックサイズ以下であることを確認してください。OSが許容する最大スタックサイズはmaxssizで確認できます。