特定DSIへのアクセス性能を重視するオンライン業務を行う前には、アプリケーションの性能を向上させるために、特定DSIをメモリに常駐してください。
アクセス性能を特に重視するDSIを、rdbresidentコマンドによりメモリに常駐します。
rdbresidentコマンドによるメモリ常駐では、DSIと同じサイズ分のメモリに加え、常駐を制御するためのメモリが必要となります。必要なメモリ量が、実際のメモリ量を超えると、性能劣化となるので、DSIの容量および常駐を制御するためのメモリ量を見積もってから、DSIのメモリ常駐を行ってください。
参照
常駐を制御するためのメモリ量の見積りは、“セットアップガイド”を参照してください。
DSIをメモリに常駐する方法には、以下の2つの方法があります。
DSIを1つずつメモリに常駐する方法
複数のDSIを一括してメモリに常駐する方法
複数のDSIを処理する場合は、“複数のDSIを一括してメモリに常駐する方法”を実行した方が、高速に常駐できます。
参照
rdbresidentコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
次の指定形式により、rdbresidentコマンドで1つずつDSIをメモリに常駐することができます。
rdbresident -mon -i データベース名.DSI名
DSIをメモリに常駐する場合に指定します。
メモリに常駐するDSIを指定します。指定は、データベース名とDSI名を“.”で連結して指定します。
rdbresidentコマンドを使用してDSIをメモリに常駐する例を以下に示します。
$ rdbresident -mon -i 在庫管理DB.在庫表DSI $ rdbresident -mon -i 在庫管理DB.関西発注表DSI
次の指定形式により、rdbresidentコマンドで複数のDSIを一度にメモリに常駐することができます。
rdbresident -mon -f ファイル名
DSIをメモリに常駐する場合に指定します。
複数のDSIを記述したファイル名を指定します。
指定するファイル内には、次の記述形式で定義します。
# コメント データベース名.DSI名
記述内容は、コマンドのオプションに指定した場合と同様です。記述内容の意味は、“DSIを1つずつメモリに常駐する方法”の各オプションの説明を参照してください。
複数のDSIをメモリに常駐する場合の情報を記述したファイルの例を以下に示します。
在庫管理DB.在庫表DSI 在庫管理DB.関西発注表DSI
注意
メモリ常駐化されたDSIは自動容量拡張ができません。また、rdbgcdsiコマンドのEオプションによる自動容量拡張を行うこともできません。DSIの容量が不足しないように監視してください。詳細は“7.5.1 DSIの容量監視”を参照してください。
同じDSIに対して、DSIのメモリ常駐と共用バッファの対応づけを、実行することはできません。アクセス性能などを考慮し、どちらかを行ってください。
Symfoware/RDBを停止すると、自動的にメモリ常駐が解除されます。Symfoware/RDBを再起動した場合は、再度、DSIのメモリ常駐を行ってください。