ページの先頭行へ戻る
Linkexpress Replication optionV5.0L17 システム設計ガイド
FUJITSU Software

1.2.1 必要資源の見積もり

セットアップにあたり、以下の製品に対して、インストールに必要なディスク容量と動作に必要なメモリ容量について見積もる必要があります。

参照

インストールに必要なディスク容量および動作に必要なメモリ容量については、以下を参照してください。

  • Symfoware Serverのソフトウェア説明書

  • Linkexpressのソフトウェア説明書

  • Linkexpress Replication optionのソフトウェア説明書

SolarisLinux1.2.1.1 環境設定およびカーネル資源の見積り

以下のカーネル資源の見積りと設定方法について説明します。

Linux1.2.1.1.1 Linuxの場合

共用メモリ/セマフォ資源

カーネル資源は、カーネル構成ファイル(/etc/sysctl.confファイル)に設定します。
変更後は、"sysctl -p /etc/sysctl.conf"を実行するか、システムを再起動してください。

下表を参照し、各パラメタの説明で"最大値"とあるパラメタについては、すでに設定されている値またはデフォルト値と比較して大きい方の値を設定し、"加算"とあるパラメタについては、すでにカーネル構成ファイルに設定されている値、またはデフォルト値に加算した値を設定してください。

共用メモリ資源

以下の値を設定してください。

表1.1 共用メモリ資源

パラメタ名

必要数

備考

kernel.shmmax

2129 × 同時実行コマンド数(注1) + 3616

最大値

kernel.shmmni

同時開始レプリケーションサービス数(注2)

加算

kernel.shmall

kernel.shmmax / メモリのページ長(注3)

加算

注1) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

注2) サーバ内で同時に開始するレプリケーションサービスの数です。

注3) メモリのページ長は、x86版では4キロバイトです。

セマフォ資源

/etc/sysctl.confファイル内のkernel.semパラメタに以下の形式で指定します。

kernel.sem = para1 para2 para3 para4

para1、para2、para3、para4に以下の値を設定してください。

表1.2 セマフォ資源

パラメタ名

必要数

備考

para1

[ (同時実行コマンド数(注1) + 5) / 16 ]
[ ]:小数点を切り上げ

最大値

para2

(同時実行コマンド数(注1) + 5) × 同時開始レプリケーションサービス数(注2)

加算

para3

すでに設定されている値(注3)

para4

16 × 同時開始レプリケーションサービス数

加算

注1) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

注2) サーバ内で同時に開始するレプリケーションサービスの数です。

注3) 値が設定されていない場合は、OSのデフォルト値を設定してください。

ファイルディスクリプタの最大値

ファイルディスクリプタ数の最大値はPAMコンフィギュレーションファイル(/etc/security/limits.confファイル)に設定します。

設定ファイルの編集が完了したら、システムを再起動してください。

ファイルディスクリプタ数の最大値

必要となるファイルディスクリプタ数を算出し、その値がプロセスで使用可能なファイルディスクリプタ数の最大値を上回っていた場合に変更が必要となります。

必要となるファイルディスクリプタ数の最大値は、以下の式から算出します。

必要なファイルディスクリプタ数 = 2 + 差分ログ取得を開始する抽出定義数 + Linkexpress Replication optionのコマンド同時実行数(注) 

注) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

ファイルディスクリプタ数の上限は、/etc/security/limits.confファイル内のnofileパラメタに以下の形式で指定します。

user1 - nofile nnnnn

user1、nnnnnには以下の値を設定してください。

表1.3 ファイルディスクリプタ数の上限

パラメタ名

必要数

備考

user1

ファイルディスクリプタ数の最大値を指定するユーザ。

レプリケーションサービスを開始するユーザを指定してください。

nnnnn

必要なファイルディスクリプタ数(注)

最大値

注) 該当ユーザまたはシステム全体のプロセスの中で最大値を設定してください。

参考

スーパユーザの場合、ファイルディスクリプタ数の上限はulimitコマンドで一時的にファイルディスクリプタ数の最大値を変更することができます。詳細については、使用しているシステムベンダのドキュメントを参照してください。

参照

カーネル資源の設定方法についての詳細は、使用しているシステムベンダのドキュメントを参照してください。

Solaris1.2.1.1.2 Solarisの場合

共用メモリ/セマフォ資源/ファイルディスクリプタ数の最大値

プロジェクトデータベース(/etc/projectファイル)または、カーネル構成ファイル(/etc/systemファイル)のどちらか一方に設定します。システム全体で設定するファイルを統一することを推奨します。

注意

  • Solaris 9では、プロジェクトデータベース(/etc/projectファイル)を利用することはできません。

  • プロジェクトデータベース(/etc/projectファイル)または、カーネル構成ファイル(/etc/systemファイル)に値が設定されている場合は、値を確認し、追加や変更を行ってください。プロジェクトデータベースおよび、カーネル構成ファイルに値が設定されていない場合は、OSのデフォルト値が使用されています。この場合には、OSのデフォルト値を基準にしてシステムで使用する構成ファイルへ追加や変更を行ってください。OSが使用している値は、sysdefコマンドまたはprctlコマンドにより表示できます。sysdefコマンドまたはprctlコマンドの詳細については、OSのmanコマンドで確認してください。

  • 各パラメタの説明で、“最大値”とあるパラメタについては、すでに設定されている値またはデフォルト値と比較して大きい方の価を設定し、”加算”とあるパラメタについては、すでに設定されている値またはデフォルト値に加算した値を設定してください。

プロジェクトデータベース(/etc/projectファイル)を利用する場合

プロジェクトデータベースを利用する場合は、system、user.rootおよび、defaultプロジェクトすべてに値を設定してください。なお、すでにユーザ定義のプロジェクトを作成している場合は、同様にユーザ定義のプロジェクトへも値を設定してください。また、プロジェクトデータベースを使用する場合は、以下を参照し、projmodコマンドを使用して値を設定してください。

Project名

概要

system

OS起動時のデーモンやcronのプロセスが属するプロジェクト

user.root

rootユーザが属するプロジェクト

default

プロジェクトが未定義の一般ユーザが属するプロジェクト

参照

プロジェクトデータベース内のパラメタの詳細は、システムベンダのドキュメントを参照してください。

共用メモリ資源

共用メモリ資源の設定について説明します。

プロジェクトデータベース内のproject.max-shm-memory、project.max-shm-idsに以下の値をコマンドで設定してください。

パラメタ名

必要数

備考

project.max-shm-memory

2129 × 同時実行コマンド数(注1) + 3616

加算

project.max-shm-ids

同時開始レプリケーションサービス数(注2)

加算

注1) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

注2) サーバ内で同時に開始するレプリケーションサービスの数です。

セマフォ資源

セマフォ資源の設定について説明します。

プロジェクトデータベース内のproject.max-sem-ids、process.max-sem-nsemsに以下の値をコマンドで設定してください。

パラメタ名

必要数

備考

project.max-sem-ids

16 × 同時開始レプリケーションサービス数

加算

process.max-sem-nsems

[ (同時実行コマンド数(注) + 5) / 16 ]
[ ]:小数点を切り上げ

最大値

注) 細同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

ファイルディスクリプタの最大値

ファイルディスクリプタ数の最大値の設定について説明します。

プロジェクトデータベース内のprocess.max-file-descriptorに以下の値をコマンドで設定してください。

パラメタ名

必要数

備考

process.max-file-descriptor

必要なファイルディスクリプタ数 = 2 + 差分ログ取得を開始する抽出定義数 + Linkexpress Replication optionのコマンド同時実行数(注)

最大値

注) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。

参考

スーパユーザの場合、ファイルディスクリプタ数の上限はulimitコマンドで一時的にファイルディスクリプタ数の最大値を変更することができます。詳細については、使用しているシステムベンダのドキュメントを参照してください。

設定例

以下にprojmodコマンドを使用して、user.rootプロジェクトにパラメタを設定する場合の例を示します。

  1. 共用メモリ資源のパラメタproject.max-shm-memoryに2G、project.max-shm-idsに1Kを設定します。

    # projmod -s -K 'project.max-shm-memory=(privileged,2G,deny)' user.root
    # projmod -s -K 'project.max-shm-ids=(privileged,1K,deny)' user.root
  2. セマフォ資源のパラメタproject.max-sem-idsに1K、process.max-sem-nsemsに512を設定します。

    # projmod -s -K 'project.max-sem-ids=(privileged,1K,deny)' user.root
    # projmod -s -K 'process.max-sem-nsems=(privileged,512,deny)' user.root
  3. ファイルディスクリプタのパラメタprocess.max-file-descriptorに1024を設定します。

    # projmod -s -K 'process.max-file-descriptor=(basic,1024,deny)’ user.root
  4. 上記で設定した値が正しいか以下のコマンドで確認してください。

    # projects -l user.root
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: process.max-file-descriptor=(basic,1024,deny)
                     process.max-sem-nsems=(privileged,512,deny)
                     project.max-sem-ids=(privileged,1K,deny)
                     project.max-shm-ids=(privileged,1K,deny)
                     project.max-shm-memory=(privileged,2G,deny)
    #
  5. 上記手順1.~4.をsystemおよび、defaultプロジェクトへも実施してください。また、ユーザ定義のプロジェクトが作成されている場合は、同様に実施してください。

参照

プロジェクトデータベースの設定方法およびprojmodコマンドの詳細については、使用しているシステムベンダのドキュメントを参照してください。

カーネル構成ファイル(/etc/systemファイル)を利用する場合

カーネル構成ファイル(/etc/systemファイル)に設定します。

注意

  • カーネル編集が完了したら、システムを再起動してください。

  • Solarisのリリースによりカーネル構成ファイル内のパラメタが廃止されたり、デフォルト値が変更されたりすることがあります。廃止されたパラメタについては設定不要です。カーネル構成ファイル内のパラメタの詳細については、使用しているシステムベンダのドキュメントを参照してください。

  • non-global zoneでカーネル構成ファイル(/etc/systemファイル)を使用する場合は、各non-global zoneの値を加算し、その合計値をglobal zoneのカーネル構成ファイルに設定してください。以下のような構成の場合は、non-global zone A,B,C の合計値をglobal zoneのカーネル構成ファイルへ加算してください。

共用メモリ資源

共用メモリ資源の設定について説明します。

カーネル構成ファイル内のshminfo_shmmax、shminfo_shmmniに以下の値を設定してください。

パラメタ名

必要数

備考

shmsys:shminfo_shmmax

2129 × 同時実行コマンド数(注1) + 3616

最大値

shmsys:shminfo_shmmni

同時開始レプリケーションサービス数(注2)

加算

注1) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの設定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。
注2) サーバ内で同時に開始するレプリケーションサービスの数です。

セマフォ資源

セマフォ資源の設定について説明します。

カーネル構成ファイル内のseminfo_semmni、seminfo_semmns、seminfo_semmnuおよびseminfo_semmslに以下の値を設定してください。

パラメタ名

必要数

備考

semsys:seminfo_semmni

16 × 同時開始レプリケーションサービス数

加算

semsys:seminfo_semmns

(同時実行コマンド数(注1) + 5) × 同時開始レプリケーションサービス数(注2)

加算

semsys:seminfo_semmnu

(同時実行コマンド数(注1) × 同時開始レプリケーションサービス数(注2)) + 全レプリケーションサービスのレプリケーションオブジェクトスキーマの合計数

加算

semsys:seminfo_semmsl

[ (同時実行コマンド数(注1) + 5) / 16 ]
[ ]:小数点を切り上げ

最大値

注1) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。
注2) サーバ内で同時に開始するレプリケーションサービスの数です。

ファイルディスクリプタの最大値

ファイルディスクリプタ数の最大値の設定について説明します。

カーネル構成ファイル内のrlim_fd_max、rlim_fd_curに以下の値を設定してください。

パラメタ名

必要数

備考

rlim_fd_max

必要なファイルディスクリプタ数 = 2 + 差分ログ取得を開始する抽出定義数 + Linkexpress Replication optionのコマンド同時実行数(注)

最大値

rlim_fd_cur

必要なファイルディスクリプタ数 = 2 + 差分ログ取得を開始する抽出定義数 + Linkexpress Replication optionのコマンド同時実行数(注)

最大値

注) 同時実行コマンド数とは、動作環境ファイルに指定したMAX_EXECUTE_COMMANDパラメタの指定値です。MAX_EXECUTE_COMMANDパラメタを指定していない場合には100になります。また、システム全体のプロセスの中で最大の値を設定する必要があります。

参考

スーパユーザの場合、ファイルディスクリプタ数の上限はulimitコマンドで一時的にファイルディスクリプタ数の最大値を変更することができます。詳細については、使用しているシステムベンダのドキュメントを参照してください。

参照

カーネル資源の設定方法についての詳細は、使用しているシステムベンダのドキュメントを参照してください。

1.2.1.2 メモリの見積もり式

レプリケーションサービスで使用するメモリの見積り式について説明します。

レプリケーションサービスの使用メモリ量の概算は、次の式で見積もります。

レプリケーションサービスの使用メモリ量
      = 初期量
       + 抽出定義に比例する使用メモリ量
       + 共用メモリサイズ

初期量

初期量(概算)は、次の式で見積もります。

初期量
      = 基礎値(1236バイト)
       + レプリケーションオブジェクトスキーマを作成したデータベース数 ×
        (55128バイト + 抽出レコードの最大サイズ × 2)

参照

lxrepobjscmコマンドの詳細は、コマンドリファレンス“lxrepobjscmコマンド”を参照してください。

抽出定義に比例する使用メモリ量

抽出定義に比例する使用メモリ量(概算)は、次の式で見積もります。

抽出定義に比例する使用メモリ量
      = 基礎値(960バイト)
       + 抽出定義情報の使用メモリ量
       + 差分ログファイルの書き出しバッファサイズ

    抽出定義情報の使用メモリ量
          =Σ抽出定義単位の定義情報の使用メモリ量                         … (1)
           + Σレプリケーショングループ定義単位の定義情報の使用メモリ量    … (2)

    差分ログファイルの書き出しバッファサイズ
          = (差分ログ取得を開始している抽出定義数 +
              差分ログ取得を開始しているレプリケーショングループ数) × 256キロバイト
(1) Σ抽出定義単位の定義情報の使用メモリ量

抽出定義の定義情報の使用メモリ量の総和です。定義する抽出定義単位に定義情報の使用メモリ量を求め、それらを合計します。

定義情報の使用メモリ量
= 基礎値(3584バイト)
 + 項目指定(SELECT)情報の使用メモリ量
 + 結合キー項目指定(JOIN)情報の使用メモリ量
 + 条件指定(WHERE)情報の使用メモリ量
項目指定(SELECT)情報の使用メモリ量

項目指定(SELECT)を行わない場合は対象となる表のすべての列の数となります。

項目指定情報の使用メモリ量
= 基礎値(16バイト)
 + 項目指定(SELECT)に指定した列の数 × 176バイト
結合キー項目指定(JOIN)情報の使用メモリ量

結合キー項目指定(JOIN)を行わない場合は0となります。

結合キー項目指定情報の使用メモリ量
= 基礎値(16バイト)
 + 項目指定(JOIN)に指定した列の数 × 176バイト
条件指定(WHERE)情報の使用メモリ量

条件指定(WHERE)を行わない場合は0となります。

条件指定情報の使用メモリ量
= 基礎値(16バイト)
 + 条件指定(WHERE)に指定した列の数 × 208バイト
 + 条件指定(WHERE)に指定した定数の数× 28バイト
 + 条件指定(WHERE)に指定したすべての定数の文字列長の合計(バイト) × 3
(2) Σレプリケーショングループ単位の定義情報の使用メモリ量

レプリケーショングループ定義の定義情報の使用メモリ量の総和です。定義するレプリケーショングループ単位に定義情報の使用メモリ量を求め、それらを合計します。

定義情報の使用メモリ量
      = 基礎値(3208バイト)
       + レプリケーショングループに属する抽出定義の個数 × 112バイト

共用メモリサイズ

Linkexpress Replication optionのコマンドが、レプリケーションプロセスとの情報交換のために使用する共用メモリのサイズです。共用メモリサイズ(概算)は、次の式で見積もってください。

共用メモリのサイズ
      = 基礎値(2129バイト)
       + MAX_EXECUTE_COMMAND + 3616バイト
MAX_EXECUTE_COMMAND

レプリケーションコマンドの多重度です。
MAX_EXECUTE_COMMANDは、動作環境ファイルで指定します。

参照

動作環境ファイルの詳細は、導入運用ガイドの“動作環境ファイルの作成”を参照してください。