ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express チューニングガイド
FUJITSU Software

3.1.4 イベントサービスのシステム資源の設定

イベントサービスを用いたシステムの運用時には、チャネル数、接続するコンシューマ/サプライヤ数などによりシステム資源を拡張する必要があります。ここでは、以下について説明します。

注意

以降に示す値は、CORBAサービスの値を含んでいません。“3.1.1 CORBAサービスのシステム資源の設定”を参照し、必要な値を加算してください。


システムパラメタ

一般的なイベントサービスが使用する共用メモリ、セマフォ、メッセージキューのシステムパラメタのチューニングについて説明します。
イベントサービスの他に共用メモリ、セマフォ、メッセージキューを使用するアプリケーションが存在する場合、そのアプリケーションが使用する資源にイベントサービスの資源量を加算してください。
システムパラメタの変更方法や、各パラメタの意味については、“■システムパラメタについて”を参照してください。

注意


揮発チャネル運用と不揮発チャネル運用を併用している場合は、不揮発チャネル運用の必要数を使用してください。

共用メモリ

パラメタ

資源制御

種類

必要数

project.max-shm-memory

加算値

[揮発チャネル運用の場合]
以下の値を加算します。

  • 1,040 × イベントチャネル最大作成数(注1) + 600K

  • traceconfigファイルのtrace_sizeパラメタに指定したバイト数

[不揮発チャネル運用の場合]
以下の値を加算します。

  • 1,040 × イベントチャネル最大作成数(注1)
    184 × 同時実行可能なグローバルトランザクション数(注2) + 600K

  • 17 × 1,024 × 1,024 +
    576 × トランザクションの多重度 +
    88 × (システム用データ格納域の数 +
    イベントデータ用データ格納域の数) +
    ユニットで使用する共用メモリサイズ × 1,024 × 1,024 (注3)

  • traceconfigファイルのtrace_sizeパラメタに指定したバイト数


  • [MessageQueueDirectorのイベントチャネル連携サービスのパッキング転送機能を使用する場合]
    イベントデータの平均サイズ(注4) ×
    packmsg_cntキーワード値(注5) × 23 -
    42 × 1,024 × 1,024

shmmax

設定値

[揮発チャネル運用の場合]
以下の値のうち、最大値を指定します。

  • 1,040 × イベントチャネル最大作成数(注1) + 600K

  • traceconfigファイルのtrace_sizeパラメタに指定したバイト数

[不揮発チャネル運用の場合]
以下の値のうち、最大値を指定します。

  • 1,040 × イベントチャネル最大作成数(注1)
    184 × 同時実行可能なグローバルトランザクション数(注2) + 600K

  • 17 × 1,024 × 1,024 +
    576 × トランザクションの多重度 +
    88 × (システム用データ格納域の数 +
    イベントデータ用データ格納域の数) +
    ユニットで使用する共用メモリサイズ × 1,024 × 1,024 (注3)

  • traceconfigファイルのtrace_sizeパラメタに指定したバイト数


  • [MessageQueueDirectorのイベントチャネル連携サービスのパッキング転送機能を使用する場合]
    イベントデータの平均サイズ(注4) ×
    packmsg_cntキーワード値(注5) × 23 -
    42 × 1,024 × 1,024

shmmni

project.max-shm-ids

加算値

[揮発チャネル運用の場合]
4

[不揮発チャネル運用の場合]
ユニット数 × 100 以上

1)

イベントチャネル最大作成数 =
静的生成イベントチャネル最大作成数 + 動的生成イベントチャネル最大作成数

2)

同時実行可能なグローバルトランザクション数は、essetcnfコマンドでイベントサービスの構成情報を設定した際、-gtrnmaxオプションに指定した値です。

3)

各値は、ユニット作成コマンド(esmkunitでユニットを作成した際、ユニット定義の以下の項目に指定した値です。
なお、複数のユニットを使用する場合は、それぞれのユニットに対して、算出してください。

  

ユニット定義の項目

トランザクションの多重度

tranmaxの設定値

システム用データ格納域の数

sysqnumの設定値

イベントデータ用データ格納域の数

userqnumの設定値

ユニットで使用する共用メモリサイズ

shmmaxの設定値(42より小さい場合、42)

4)

イベントデータの平均サイズは、以下の計算式で算出してください(小数点以下、切り上げ)。
Ev_size: アプリケーション内で送受信するイベントデータの平均サイズ

  • [Ev_sizeが2Kバイト以内の場合]
    イベントデータの平均サイズ = ((Ev_size + 1) ÷ 512) × 512

  • [Ev_sizeが2Kバイトを超える場合]
    イベントデータの平均サイズ = 2K + ((Ev_size - 2K) ÷ 16K) × 16K

5)

packmsg_cntキーワード値は、MessageQueueDirectorのイベントチャネル連携サービスのサービス定義に指定したCHANNELセクションのpackmsg_cntキーワード値です。


共用メモリ

パラメタ

種類

必要数

kernel.shmmax

設定値

[揮発チャネル運用の場合]
2,064 × イベントチャネル最大作成数(注1)
600K +traceconfigファイルのtrace_sizeパラメタに指定したバイト数 + 3,328

[不揮発チャネル運用の場合]
以下の値のうち、最大値を指定します。

  • 2,064 × イベントチャネル最大作成数(注1)
    184 × 同時実行可能なグローバルトランザクション数(注2)
    600K +traceconfigファイルのtrace_sizeパラメタに指定したバイト数 + 3,328

  • 134,217,728 以上

  • ユニットで使用する共用メモリサイズ(複数ユニットがある場合、最大値)(注3)

kernel.shmmni

加算値

[揮発チャネル運用の場合]

  • プロセス単位で内部トレースを採取する(traceconfigファイルのtrace_buffer=process)場合
    4 + イベントチャネルのプロセス数(注4)

  • イベントサービス単位で内部トレースを採取する(traceconfigファイルのtrace_buffer=system)場合
    4

[不揮発チャネル運用の場合]

  • プロセス単位で内部トレースを採取する(traceconfigファイルのtrace_buffer=process)場合
    100 以上の値 (ユニット単位に加算) + イベントチャネルのプロセス数(注4)

  • イベントサービス単位で内部トレースを採取する(traceconfigファイルのtrace_buffer=system)場合
    100 以上の値 (ユニット単位に加算)

注1)

イベントチャネル最大作成数 =
静的生成イベントチャネル最大作成数 + 動的生成イベントチャネル最大作成数

2)

同時実行可能なグローバルトランザクション数は、essetcnfコマンドでイベントサービスの構成情報を設定した際、-gtrnmaxオプションに指定した値です。

3)

ユニットで使用する共用メモリサイズは、esmkunitコマンドでユニットを作成した際、ユニット定義ファイルの項目「shmmax」に指定した値です。

4)

イベントチャネルのプロセス数 =
静的イベントチャネルグループ数 + 動的イベントチャネルのプロセス数

動的イベントチャネルのプロセス数:
essetupコマンドでイベントサービスをセットアップした際、-pオプションに指定した値です。
ノーティフィケーションサービスを使用している場合は、「動的イベントチャネルのプロセス数 × 2」としてください。


セマフォ

パラメタ

資源制御

種類

必要数

semmni

project.max-sem-ids

加算値

3


セマフォ

パラメタ

種類

必要数

para1

設定値

29

para2

加算値

[揮発チャネル運用の場合]
6 以上

[不揮発チャネル運用の場合]
ユニット数 × 29 + 13 以上

para3

設定値

29

para4

加算値

ユニット数 × 256


メッセージキュー

パラメタ

資源制御

種類

必要数

msgmnb

process.max-msg-qbytes

設定値

[不揮発チャネル運用の場合]
4,096 以上

msgmni

project.max-msg-ids

加算値

[揮発チャネル運用の場合]
2

[不揮発チャネル運用の場合]
ユニット数 × 3 + 2

msgtql

process.max-msg-messages

設定値

[不揮発チャネル運用の場合]
以下をユニットごとに求めた合計値
6 + (ユニット定義ファイルのtranmax値 × 4 × 1.3)


メッセージキュー

パラメタ

種類

必要数

kernel.msgmax

設定値

[不揮発チャネル運用の場合]
2,048 以上

kernel.msgmnb

設定値

[不揮発チャネル運用の場合]
4,096 以上

kernel.msgmni

加算値

[不揮発チャネル運用の場合]
ユニット数 × 9