Navigatorサーバが動作するために必要な共用メモリの設定
サーバでは、共用メモリセグメントを使用します。そのため必要に応じて、カーネルのコンフィグレーションを行ってください。以下に必要な設定を示します。
ユーザ管理機能を使用する場合
3+最大接続数 |
上記以外の場合
1+最大接続数 |
Solarisの場合
共用メモリセグメント識別子の最大値は、system、およびuser.rootのプロジェクトのproject.max-shm-idsで設定する必要があります。
必要に応じてNavigator Serverで使用する共用メモリセグメント数の最大数を、現在の設定値に加算して設定します。
設定方法などの詳細については、 OSのマニュアルを参照してください。
なお、設定を省略した場合は、システムの省略値が取られます。
Linuxの場合
システム全体の共有メモリ数の上限は、/etc/sysctl.confファイル内のkernel.shmmniパラメタで設定します。
現在の設定値が、上記の必要数に対して十分な値でない場合、現在の設定値にNavigatorで必要となる数を加算して再設定します。パラメタ値の変更後は、“sysctl -p /etc/sysctl.conf”を実行するか、システムを再起動してください。
カーネルパラメタの現在の設定値の確認方法、編集方法、およびその注意点についての詳細は、使用しているディストリビュータ提供のマニュアルを参照してください。
なお、設定を省略した場合は、システムの省略値が取られます。
Navigatorサーバでは、以下の共用メモリを使用します。
ユーザ管理機能を使用する場合
3000バイト+(2200バイト×最大接続数) |
上記以外の場合
1000バイト+(1100バイト×最大接続数) |
Solarisの場合
共用メモリセグメントサイズの最大値は、system、およびuser.rootのプロジェクトのproject.max-shm-memoryで設定する必要があります。
必要に応じて、Navigator Serverで使用する共用メモリのサイズを、現在の設定値に加算して設定します。
設定方法などの詳細については、 OSのマニュアルを参照してください。
なお、設定を省略した場合は、システムの省略値が取られます。
Linuxの場合
システム全体の共有メモリ・ページの最大数を、/etc/sysctl.confファイル内のkernel.shmallパラメタで設定します。現在の設定値がNavigatorの使用する上記共用メモリセグメントサイズを獲得するのに十分なページ数でない場合、現在の設定値にNavigatorで必要となるページ数を加算して再設定します。
また、カーネルが許可する最大共有メモリセグメントのサイズ(単位はバイト)に上記の見積もり式のサイズよりも大きい値を、/etc/sysctl.confファイル内のkernel.shmmaxパラメタで設定します。(通常この値はOSの推奨値や他のアプリケーションの設定により適切な値が指定されています。)
パラメタ値の変更後は、“sysctl -p /etc/sysctl.conf”を実行するか、システムを再起動してください。カーネルパラメタの現在の設定値の確認方法、編集方法、およびその注意点についての詳細は、使用しているディストリビュータ提供のマニュアルを参照してください。
なお、設定を省略した場合は、システムの省略値が取られます。
Navigatorサーバの同時利用可能人数の制限とチューニング
サーバでは、セマフォを使用します。そのため必要に応じて、カーネルのコンフィグレーションを行ってください。以下に必要な設定を示します。
セマフォの取り消し構造体の最大数は、以下のように指定してください。
最大接続数以上 |
Solarisの場合
セマフォの取り消し構造体の最大数は、system、およびuser.rootのプロジェクトのprocess.max-sem-opsで設定する必要があります。
必要に応じて、Navigator Serverの最大接続数を、現在の設定値に加算して設定します。
設定方法などの詳細については、 OSのマニュアルを参照してください。
なお、指定を省略した場合は、システムの省略値が取られます。
Navigatorサーバが動作するために必要なメッセージの設定
Navigatorでは、クライアントとサーバ間の通信に、UNIXシステムのメッセージとメッセージ・キューを使用します。そのため、必要に応じて、メッセージとメッセージ・キューに関する設定を行ってください。以下に必要な設定を示します。
Navigatorサーバが動作するために必要なメッセージの最大サイズは、以下の概算式で見積もります。
Navigator Serverが動作するために必要なメッセージの最大サイズ |
システムのメッセージ・キューに保有できるメッセージの最大サイズに、上記概算式で求められるメッセージの最大サイズより大きな値が設定されている必要があります。
例えば、Navigatorサーバへの最大同時接続数が100の場合、システムのメッセージ・キューに保有できるメッセージの最大サイズには1200以上の値が設定されている必要があります。現在の設定値が、Navigatorサーバが必要とする最大サイズを満たしていない場合には、設定内容を変更してください。
Solarisの場合
システムのメッセージ・キューに保有できるメッセージの最大サイズは、system、およびuser.rootのプロジェクトのprocess.max-msg-qbytesで設定されています。
設定方法などの詳細については、OSのマニュアルを参照してください。
なお、指定を省略した場合は、システムの省略値が取られます。
Linuxの場合
システムのメッセージ・キューに保有できるメッセージの最大サイズは、/etc/sysctl.confファイル内のkernel.msgmnbパラメタで設定されています。
パラメタ値の変更後は、“sysctl -p /etc/sysctl.conf”を実行するか、システムを再起動してください。
カーネルパラメタの現在の設定値の確認方法、編集方法、およびその注意点についての詳細は、使用しているディストリビュータ提供のマニュアルを参照してください。
なお、設定を省略した場合は、システムの省略値が取られます。
Navigatorサーバが動作するために必要なメッセージの最大数は、以下で見積もります。
Navigator Serverが動作するために必要なメッセージの最大数 =最大同時接続数以上 |
システム全体で作成できるメッセージの最大数に、上記で見積もったNavigatorサーバが動作するために必要なメッセージの最大数、およびシステム上のNavigatorサーバ以外の他のアプリケーションが使用するメッセージの総数を合計した値を設定します。
例えば、以下の場合には、システム全体で作成できるメッセージの最大数には300以上の値が設定されている必要があります。
Navigatorサーバへの最大同時接続数 = 100
他のアプリケーションが使用する総数 = 200
システム全体で作成できるメッセージの最大数にNavigatorサーバへの最大同時接続数以上の値が設定されている場合でも、システム上の他のアプリケーションのメッセージの使用数が正しく見積もられていないと、Navigatorサーバで必要なメッセージを確保できなくなり、正しく動作しません。適切な値を設定するには、アプリケーションごとに製品マニュアルなどで必要なメッセージ数を算出し、システム全体での必要数の見積もりを行う必要があります。
Solarisの場合
システム全体で作成できるメッセージの最大数は、system、およびuser.rootのプロジェクトのprocess.max-msg-messagesで設定されています。
設定方法などの詳細については、 OSのマニュアルを参照してください。
なお、指定を省略した場合は、システムの省略値が取られます。
Navigatorサーバの同時利用可能人数の制限とチューニング
Navigatorが使用するデスクトップヒープのサイズは、クライアントからNavigatorサーバに同時に接続する人数によって以下のサイズ(100人あたり1024KB)が必要です。
同時に接続する人数が50人以下の場合:512KB
同時に接続する人数が100人以下の場合:1024KB
同時に接続する人数が200人以下の場合:2048KB
上記のNavigatorが使用するデスクトップヒープのサイズを参考に算出した値を、OSや他のアプリケーションが使用するデスクトップヒープのサイズに加算して設定してください。
Navigatorサーバのメモリ使用量
Navigatorサーバにおける1接続あたりのメモリ使用量は50MBで見積もります。
また、問い合わせ実行時のメモリ使用量は、問い合わせの指定内容に依存します。
特にメモリ使用量に影響する要素は以下のとおりです。
表側および表頭のカテゴリのラベルの組み合わせの総サイズ=Σ(コード長+ラベル長)
表のオプションの[すべての行を指定する]、[実績のない行を指定する]、[すべての列を指定する]、[実績のない列を指定する]を指定した場合には、表側および表頭のカテゴリのラベルのすべての組み合わせ数で総サイズを算出します。
マスタ型管理ポイントのコード、ラベル、ソートキーの総サイズ=(コード長+ラベル長+ソートキー長)×レコード件数
配列フェッチ数×レコード長
配列フェッチ数=RN_ORACLE_HOST_ARRAYS、RN_MSSQLSERVER_HOST_ARRAYS、
またはRN_POSTGRES_HOST_ARRAYSに指定した値(デフォルトは1000)