セットアップにあたり、以下の製品に対して、インストールに必要なディスク容量と動作に必要なメモリ容量について見積もる必要があります。
Symfoware Server
Linkexpress
Linkexpress Replication option
参照
インストールに必要なディスク容量および動作に必要なメモリ容量については、各製品のマニュアルを参照してください。
以下のカーネル資源の見積りと設定方法について説明します。
共用メモリ資源
共用メモリ
カーネル資源は、カーネル構成ファイル(/etc/sysctl.confファイル)に設定します。
変更後は、"sysctl -p /etc/sysctl.conf"を実行するか、システムを再起動してください。
下表を参照し、各パラメタの説明で"最大値"とあるパラメタについては、すでに設定されている値またはデフォルト値と比較して大きい方の値を設定し、"加算"とあるパラメタについては、すでにカーネル構成ファイルに設定されている値、またはデフォルト値に加算した値を設定してください。
共用メモリ資源
以下の値を設定してください。
共用メモリ資源
パラメタ名 | 必要数 | 備考 |
---|---|---|
kernel.shmmax | 256512バイト | 最大値 |
kernel.shmmni | RDBシステム数 (注1) | 加算 |
kernel.shmall | kernel.shmmax / メモリのページ長 (注2) | 加算 |
注1) サーバ内で同時に起動するSymfoware/RDBの数です。
注2) メモリのページ長は、x86版では4キロバイトです。
参照
カーネル資源の設定方法についての詳細は、使用しているシステムベンダのドキュメントを参照してください。
共用メモリ
プロジェクトデータベース(/etc/projectファイル)または、カーネル構成ファイル(/etc/systemファイル)のどちらか一方に設定します。システム全体で設定するファイルを統一することを推奨します。
注意
プロジェクトデータベース(/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 | 256512バイト | 加算 |
project.max-shm-ids | RDBシステム数 (注) | 加算 |
注) サーバ内で同時に起動するSymfoware/RDBの数です。
以下にprojmodコマンドを使用して、user.rootプロジェクトに共用メモリの設定例を示します。
共用メモリ資源のパラメタ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
上記で設定した値が正しいか以下のコマンドで確認してください。
# projects -l user.root user.root projid : 1 comment: "" users : (none) groups : (none) attribs: project.max-shm-ids=(privileged,1000,deny) project.max-shm-memory=(privileged,2147483648,deny) #
上記手順1.~2.を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のカーネル構成ファイルへ加算してください。
共用メモリ資源の設定について説明します。
カーネル構成ファイル内のkernel.shmmax、kernel.shmmniに以下の値を設定してください。
パラメタ名 | 必要数 | 備考 |
---|---|---|
shmsys:shminfo_shmmax | 256512バイト | 最大値 |
shmsys:shminfo_shmmni | RDBシステム数 (注) | 加算 |
注) サーバ内で同時に起動するSymfoware/RDBの数です。
参照
カーネル資源の設定方法についての詳細は、使用しているシステムベンダのドキュメントを参照してください。
Symfoware/RDBプロセス内でLinkexpress Replication optionが追加で使用するメモリの見積り式について説明します。
追加で使用するSymfoware/RDBプロセスのメモリ量の概算は、次の式で見積もります。
Symfoware/RDBプロセスで追加する使用メモリ量 = 初期量 + 抽出定義に比例する使用メモリ量 + SQLアプリケーションのコネクションに比例する使用メモリ量
初期量(概算)は、次の式で見積もります。
初期量 = 基礎値(1065キロバイト) + 抽出レコードの最大サイズ × 2
抽出レコードの最大サイズ
RDBシステム毎のレプリケーション対象の表の中でもっとも長い抽出レコードの最大サイズ(バイト数)です。
抽出定義に比例する使用メモリ量(概算)は、次の式で見積もります。
抽出定義に比例する使用メモリ量 = 抽出定義情報の使用メモリ量 + 差分ログファイルの書き出しバッファサイズ 抽出定義情報の使用メモリ量 =Σ抽出定義単位の定義情報の使用メモリ量 … (1) + Σレプリケーショングループ定義単位の定義情報の使用メモリ量 … (2) 差分ログファイルの書き出しバッファサイズ = (差分ログ取得を開始している抽出定義数 + 差分ログ取得を開始しているレプリケーショングループ数) × 260キロバイト
抽出定義の定義情報の使用メモリ量の総和です。定義する抽出定義単位に定義情報の使用メモリ量を求め、それらを合計します。
定義情報の使用メモリ量 = 基礎値(944バイト) + DSI情報の使用メモリ量 + 項目指定(SELECT)情報の使用メモリ量 + 結合キー項目指定(JOIN)情報の使用メモリ量 + 条件指定(WHERE)情報の使用メモリ量
表のDSI名(DSI)を指定する場合は2424となります。
DSI情報の使用メモリ量 =[ 表に定義されている表のDSI数を25で割った商 ] × 2424バイト ([]内は小数点を切り上げて整数にしてください)
項目指定(SELECT)を行わない場合は対象となる表のすべての列の数となります。
項目指定情報の使用メモリ量 = 基礎値(12バイト) + 項目指定(SELECT)に指定した列の数 × 208バイト
結合キー項目指定(JOIN)を行わない場合は0となります。
結合キー項目指定情報の使用メモリ量 = 基礎値(12バイト) + 項目指定(JOIN)に指定した列の数 × 48バイト
条件指定(WHERE)を行わない場合は0となります。
条件指定情報の使用メモリ量 = 基礎値(12バイト) + 条件指定(WHERE)に指定した列の数 × 208バイト + 条件指定(WHERE)に指定した定数の数× 5バイト + 条件指定(WHERE)に指定したすべての定数の文字列長の合計(バイト)
レプリケーショングループ定義の定義情報の使用メモリ量の総和です。定義するレプリケーショングループ単位に定義情報の使用メモリ量を求め、それらを合計します。
定義情報の使用メモリ量 = 基礎値(632バイト) + レプリケーショングループに属する抽出定義の個数 × 56バイト
SQLアプリケーションのコネクションに比例する使用メモリ量(概算)は、次の式で見積もります。
SQLアプリケーションのコネクションに比例する使用メモリ量 =ΣSQLアプリケーションのコネクション毎の使用メモリ量 … (1)
SQLアプリケーションのコネクション毎の使用メモリ量の総和です。コネクションごとの使用メモリ量を求め、Symfoware/RDBに接続するすべてのコネクションについて合計します。SQLアプリケーションには、Symfoware/RDBのrdbuptコマンドも含まれます。
SQLアプリケーションのコネクション毎の使用メモリ量 = 基礎値(1400バイト) + コネクション内でアクセスする表のDSI数 × 24バイト