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

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

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


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


システムパラメタ

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

  なお、資源制御によるIPC資源のパラメタの設定は、Solaris 10の場合のみ可能です。


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

共用メモリ

パラメタ

資源制御

種類

必要数

shmmax(注1)

設定値

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

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

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

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

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

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

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

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

project.max-shm-memory

加算値

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

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

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

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

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

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

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

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

shmmni

project.max-shm-ids

加算値

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

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

注1)

Solaris 10でshmmaxを設定する場合、Solarisのドキュメントおよび“■システムパラメタについて”を参照して値を決定してください。

注2)

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

注3)

traceconfigファイルの詳細については、“D.1 traceconfig”を参照してください。

注4)

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

注5)

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

  

ユニット定義の項目

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

tranmaxの設定値

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

sysqnumの設定値

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

userqnumの設定値

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

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

注6)

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

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

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

注7)

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

共用メモリ

パラメタ

種類

必要数

kernel.shmmax

設定値

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

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

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

  • 134,217,728 以上

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

kernel.shmmni

加算値

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

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

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

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

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

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

注1)

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

注2)

trace_sizeパラメタおよびtrace_bufferパラメタは、イベントサービスの動作環境ファイル(traceconfig)で指定します。詳細については、“D.1 traceconfig”を参照してください。

注3)

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

注4)

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

5)

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

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

セマフォ

パラメタ

資源制御

種類

必要数

semmni

project.max-sem-ids

加算値

3

semmns ()

加算値

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

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

)

Solaris 9でのみ有効です。

セマフォ

パラメタ

種類

必要数

para1

設定値

29

para2

加算値

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

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

para3

設定値

29

para4

加算値

ユニット数 × 256

メッセージキュー

パラメタ

資源制御

種類

必要数

msgmax ()

設定値

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

msgmnb

process.max-msg-qbytes

設定値

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

msgmni

project.max-msg-ids

加算値

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

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

msgtql

process.max-msg-messages

設定値

[不揮発チャネル運用の場合][Solaris 10の場合]
以下をユニットごとに求めた合計値

  • 6 + (ユニット定義ファイルのtranmax値 × 4 × 1.3)

加算値

[不揮発チャネル運用の場合][Solaris 9の場合]
以下をユニットごとに求めた合計値

  • 6 + (ユニット定義ファイルのtranmax値 × 4 × 1.3)

)

Solaris 9でのみ有効です。

メッセージキュー

パラメタ

種類

必要数

kernel.msgmax

設定値

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

kernel.msgmnb

設定値

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

kernel.msgmni

加算値

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