SharePlex10.2まではMKS Toolkitの設定の中で細かいシステム関連のチューニング調整ができるようになっていました。しかしSharePlex12.0のWindows版では内部コンポーネントがcygwinに変更されたため、設定方法が変更されています。
SharePlex12からの設定については、以下に記載があります。
Windows system checklist
上記からは、cygserver.confの定義を変更して、サービスとして起動しているCYGWIN cygserverを再起動する旨が
説明されています。なお、CYGWINはSharePlexのサービス稼働に必要なため、再起動前にはすべてのSharePlexサービスを停止しておく必要があります。
cygserver.confの設定の実際例
定義ファイルは実際にはSharePlex\cygwin64\etc\cygserver.confとして存在します。上記の説明に対応するようにconfigを記述するのは少し難しいかもしれません。そのため、それぞれの設定について内容を精査して設定例を以下に示します。
SharePlexのマニュアルガイドラインに沿った設定内容
各項目毎の設定方針は以下の通りです。
#kern.ipc.shmmni 192 -> デフォルトで問題なし
kern.ipc.semmns 60 -> コメントアウトして255へ増加
kern.ipc.semmnu 30 -> コメントアウトして255へ増加
kern.ipc.semmsl 60 -> コメントアウトして128へ増加
#kern.ipc.semopm 100 -> デフォルトで問題なし
kern.ipc.semume 10 -> コメントアウトして255へ増加
kern.ipc.shmmaxpgs 8192 -> コメントアウトして16384へ増加
#kern.ipc.shmmni 192 -> デフォルトで問題なし
#kern.ipc.shmseg 128 -> デフォルトで問題なし
なお、マニュアル上はshmmaxの設定を100MBにする旨指示がありますが、shmmaxの設定項目はありません。
# Changing shmmaxpgs immediately affects setting SHMMAX. The relation
# between shmmaxpgs and SHMMAX is: SHMMAX = shmmaxpgs * getpagesize().
というコメントがあり、shmmaxはshmmaxpgsを元に計算されるようになっています。
getpagesize()は、Windowsの仕様の4KBという情報があり、それを基準にするとデフォルトでは32MBで、16384に変更後も64MBとなり条件を満たしていないように見えます。
少し微妙ですが、デフォルトでも6インスタンス起動できたため、1インスタンスであればその2倍で十分とも考えられます。
マニュアルに従って一般環境の場合には、以下設定の追記で対応できます。
kern.ipc.semmns 255
kern.ipc.semmnu 255
kern.ipc.semmsl 128
kern.ipc.semume 255
kern.ipc.shmmaxpgs 16384
なお、複数のSharePlexを1OS内で稼働させる必要がある環境では、必要なリソース量等を計算したうえで、cygwinの設定を変更する必要がある場合があります。