ページの先頭行へ戻る
Symfoware Server V10.0.0 トラブルシューティング集

8.3.1 RDB構成パラメタファイルをチューニングする

RDB構成パラメタファイルをチューニングする際によくある質問と、その回答について説明します。

SolarisLinuxI/O効率向上のためのチューニングポイントと注意点は?(Solaris/Linuxの場合)

以下に、チューニングポイントと注意点を示します。

データベースI/Oのチューニング
  • 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)を、物理的に異なるディスクに配置することが重要です。

ソート、ワークI/OとWORK_PATHのチューニング

Symfoware Serverでは、SQL処理においては、SORT_MEM_SIZEを超えるデータ量をソートする場合や、WORK_MEM_SIZEを超えるデータ量を中間データとして保持する場合、2次記憶を使用します。この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

参照

詳細は、“セットアップガイド”の“カーネル編集”を参照してください。


WindowsI/O効率向上のためのチューニングポイントと注意点は?(Windowsの場合)

以下に、チューニングポイントと注意点を示します。

データベースI/Oのチューニング

Symfoware Serverには、データベーススペースを同時にアクセスできる仕組みがあります。
省略値は、3つのデータベーススペースに対しての同時アクセスですが、このアクセス数をシステムに合わせてチューニングすることによって、I/O効率を向上させることができます。
たとえば、各アプリケーションプログラムがアクセスする範囲をDSIにするなどして、それぞれのデータベーススペースに振り分け、同時アクセス数をデータベーススペース数とすることにより、各アプリケーションプログラムのデータベーススペースへのI/O待ちを軽減するごとができるため、I/O効率が向上します。

【チューニング方法】

RDB 構成パラメタファイルに、以下の値を指定します。

RDBDBSNUM = データベーススペース数

たとえば、データベーススペース数が10個で、頻繁にかつ同時にアクセスするデータベーススペース数がその内の3個の場合でも、10を指定しなければ最大性能は発揮されません。
I/O効率を向上させるためには、まず、RDBDBSNUMへ上記の数を指定します。

参照

詳細は、“セットアップガイド”の“RDB構成パラメタファイルによる定義”を参照してください。

なお、パラメタの設定以外には、頻繁にかつ同時にアクセスする資源(DSI)を、物理的に異なるディスクに配置することが重要です。

ソート、ワークI/OとWORK_PATHのチューニング

Symfoware Serverでは、SQL処理においては、SORT_MEM_SIZEを超えるデータ量をソートする場合や、WORK_MEM_SIZEを超えるデータ量を中間データとして保持する場合、2次記憶を使用します。この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構成パラメタファイルによる定義”を参照してください。