RDB構成パラメタファイルをチューニングする際によくある質問と、その回答について説明します。
I/O効率向上のためのチューニングポイントと注意点は?(Solaris/Linuxの場合)
以下に、チューニングポイントと注意点を示します。
RDBASYNCIO = YES を指定している場合
Symfoware Server はOS(カーネル非同期I/O)と連携して適切にI/Oを制御するため、基本的にはチューニングは不要です。
read多重度(RDBASYNCIONUMR)は0(I/O 無制限)を指定します。
write多重度(RDBASYNCIONUMW)は、データベーススペースをRAID装置に配置している場合に、1つのRAID装置あたりのハードディスクドライブ数を指定します。
参照
詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。
なお、パラメタの設定以外には、頻繁にかつ同時にアクセスする資源(DSI)を、物理的に異なるディスクに配置することが重要です。
RDBASYNCIO = NO を指定している場合
Symfoware Serverには、データベーススペースを同時にアクセスできる仕組みがあります。
省略値は、3つのデータベーススペースに対しての同時アクセスですが、このアクセス数をシステムに合わせてチューニングすることによって、I/O効率を向上させることができます。
たとえば、各アプリケーションプログラムがアクセスする範囲をDSIにするなどして、それぞれのデータベーススペースに振り分け、同時アクセス数をデータベーススペース数とすることにより、各アプリケーションプログラムのデータベーススペースへのI/O待ちを軽減するごとができるため、I/O効率が向上します。
RDB 構成パラメタファイルに、以下の値を指定します。
RDBDBSNUM = データベーススペース数
たとえば、データベーススペース数が10個で、頻繁にかつ同時にアクセスするデータベーススペース数がその内の3個の場合でも、10を指定しなければ最大性能は発揮されません。
I/O効率を向上させるためには、まず、RDBDBSNUMへ上記の数を指定します。
参照
詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。
なお、パラメタの設定以外には、頻繁にかつ同時にアクセスする資源(DSI)を、物理的に異なるディスクに配置することが重要です。
Symfoware Serverでは、SQL処理においては、SORT_MEM_SIZEを超えるデータ量をソートする場合や、WORK_MEM_SIZEを超えるデータ量を中間データとして保持する場合、2次記憶を使用します。この2次記憶は、アプリケーションプログラムごとに使用ディレクトリ(ディスク)を指定することもできます。
2次記憶を使用するには、クライアント用の動作環境ファイルに、以下の値を指定します。Symfoware Serverは、以下のワークパス名の順にディスクの領域を使用します。
WORK_PATH=(ワークパス名[,ワークパス名]…)
参照
クライアント用の動作環境ファイルについての詳細は、“アプリケーション開発ガイド(共通編)”の“クライアント用の動作環境ファイル”を参照してください。
アプリケーションプログラムが対象とするデータが大量となったとき、上記のようにソート処理や中間データの保持で2次記憶を使うことが多くなります。このような場合、アプリケーションプログラムごとまたはそのグループごとに、使用する2次記憶のディスクを分散させることで、I/O負荷を分散させることができます。
Symfoware Serverには、ソートやワークとして使用する2次記憶(ディスク)を同時にアクセスできる仕組みがあります。省略値は、3ディスクに対しての同時アクセスですが、このアクセス数をワーク用のディスク数に合わせてチューニングすることによって、I/O効率を向上させることができます。
RDB構成パラメタファイルに、以下の値を指定します。
RDBWKSNUM = ソート、ワーク用のディスク数
たとえば、ソート、ワーク用のディスク数が10個で、頻繁にかつ同時にアクセスするディスク数がその内の3個の場合でも、10を指定しなければ最大性能は発揮されません。
I/O効率を向上させるためには、まず、RDBWKSNUMへ上記の数を指定します。
参照
詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。
Symfoware Serverは、データベーススペース、2次記憶のソートやワーク、各種パラメタファイルなどを読み込んだり、書き込んだりするために、ファイルディスクリプタを使用します。大規模データベースの環境下では、データベーススペース数が多いこと、SQL処理で2次記憶のソートやワークを多く使う傾向があるため、それらのI/Oに使用するファイルディスクリプタが不足することがあります。したがって、ファイルディスクリプタ数を確実に増やすように、カーネル編集を行ってください。
カーネル構成ファイル(/etc/systemファイル)に、以下の行を追加してください。
set rlim_fd_max = 1024 set rlim_fd_cur = 1024
参照
詳細は、“セットアップガイド”の“カーネル編集”を参照してください。
I/O効率向上のためのチューニングポイントと注意点は?(Windowsの場合)
以下に、チューニングポイントと注意点を示します。
Symfoware Serverには、データベーススペースを同時にアクセスできる仕組みがあります。
省略値は、3つのデータベーススペースに対しての同時アクセスですが、このアクセス数をシステムに合わせてチューニングすることによって、I/O効率を向上させることができます。
たとえば、各アプリケーションプログラムがアクセスする範囲をDSIにするなどして、それぞれのデータベーススペースに振り分け、同時アクセス数をデータベーススペース数とすることにより、各アプリケーションプログラムのデータベーススペースへのI/O待ちを軽減するごとができるため、I/O効率が向上します。
RDB 構成パラメタファイルに、以下の値を指定します。
RDBDBSNUM = データベーススペース数
たとえば、データベーススペース数が10個で、頻繁にかつ同時にアクセスするデータベーススペース数がその内の3個の場合でも、10を指定しなければ最大性能は発揮されません。
I/O効率を向上させるためには、まず、RDBDBSNUMへ上記の数を指定します。
参照
詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。
なお、パラメタの設定以外には、頻繁にかつ同時にアクセスする資源(DSI)を、物理的に異なるディスクに配置することが重要です。
Symfoware Serverでは、SQL処理においては、SORT_MEM_SIZEを超えるデータ量をソートする場合や、WORK_MEM_SIZEを超えるデータ量を中間データとして保持する場合、2次記憶を使用します。この2次記憶は、アプリケーションプログラムごとに使用ディレクトリ(ディスク)指定することもできます。
2次記憶を使用するには、クライアント用の動作環境ファイルに、以下の値を指定します。Symfoware Serverは、以下のワークパス名の順にディスクの領域を使用します。
WORK_PATH=(ワークパス名[,ワークパス名]…)
参照
クライアント用の動作環境ファイルについての詳細は、“アプリケーション開発ガイド(共通編)”の“クライアント用の動作環境ファイル”を参照してください。
アプリケーションプログラムが対象とするデータが大量となったとき、上記のようにソート処理や中間データの保持で2次記憶を使うことが多くなります。このような場合、アプリケーションプログラムごとまたはそのグループごとに、使用する2次記憶のディスクを分散させることで、I/O負荷を分散させることができます。
Symfoware Serverには、ソートやワークとして使用する2次記憶(ディスク)を同時にアクセスできる仕組みがあります。省略値は、3ディスクに対しての同時アクセスですが、このアクセス数をワーク用のディスク数に合わせてチューニングすることによって、I/O効率を向上させることができます。
RDB構成パラメタファイルに、以下の値を指定します。
RDBWKSNUM = ソート、ワーク用のディスク数
たとえば、ソート、ワーク用のディスク数が10個で、頻繁にかつ同時にアクセスするディスク数がその内の3個の場合でも、10を指定しなければ最大性能は発揮されません。
I/O効率を向上させるためには、まず、RDBWKSNUMへ上記の数を指定します。
参照
詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。