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

3.1.1 CORBAサービスのシステム資源の設定

  CORBAサービスを用いたシステムの運用時には、接続するクライアント/サーバ数、オブジェクト数などによりシステム資源を拡張する必要があります。ここでは、以下について説明します。

システムパラメタ

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


CORBAサービス

  CORBAサービスで必要となるシステム資源について、以下に示します。

注意

  各表に記述されているパラメタ名(max_IIOP_resp_conなど)は、CORBAサービスのconfigファイルで指定します。詳細については、“A.1 config”を参照してください。

共用メモリ

パラメタ

資源制御

種類

必要数

shmmax

設定値

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

project.max-shm-memory

加算値

max_IIOP_resp_con × 0.4K +
limit_of_max_IIOP_resp_con(注1) × 0.5K +
max_IIOP_resp_con_extend_number(注2) × 0.1K +
max_IIOP_resp_requests × 8K +
limit_of_max_IIOP_resp_requests(注1) × 3K +
max_IIOP_resp_requests_extend_number(注2) × 0.1K +
limit_of_number_of_common_buffer(注8) × 5K +
number_of_common_buffer_extend_number(注2) × 0.1K +
max_processes × 0.6K +
max_exec_instance × 0.2K +
max_impl_rep_entries × 12K +
(max_IIOP_resp_con + limit_of_max_IIOP_resp_con(注1) × 2) × max_impl_rep_entries × 0.004K +
max_bind_instances(注7) × 0.1K + 3,200K 以上

[SSL連携機能を使用する場合]
上記値 + limit_of_max_IIOP_resp_con × 5K 以上

[トレース機能を使用する場合]
上記値 + max_processes × trace_size_per_process +
trace_size_of_daemon(注3) + 20K 以上

[スナップショット機能を使用する場合]
上記値 + snap_size +
(max_impl_rep_entries + max_processes) × 0.1K 以上

[CORBAワークユニットを使用する場合]
上記値 + (Buffer Size + 0.2KB) × Buffer Number ×
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” (注5)

shmmni

project.max-shm-ids

加算値

max_IIOP_resp_con_extend_number(注2)
max_IIOP_resp_requests_extend_number(注2)
number_of_common_buffer_extend_number(注2)
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” + 13 (注6)

注1)

limit_of_[パラメタ名]のデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
  [パラメタ名] × 1.3 (小数部分切り捨て)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、[パラメタ名]となります。

注2)

[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
  (limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。

注3)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
  trace_size_per_process × 32

注4)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
  max_IIOP_resp_requests × 0.2

注5)

Buffer Size、Buffer Numberを指定したCORBAワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値に、“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数”を積算した値が該当します。
なお、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が  2,147,483,647より小さい値になるようにBuffer Size、Buffer Numberの値を設定してください。

Enterprise Edition注6)

マルチシステム機能を使用する場合は、拡張システム数を積算した値を加算してください。

7)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_processes × 1024 (計算結果が65,535を超えた場合は65,535)

8)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
  limit_of_max_IIOP_resp_requests

共用メモリ

パラメタ

種類

必要数

kernel.shmmax

設定値

以下の値のうち、最大値を指定します。

  • max_IIOP_resp_con × 16K +
    (max_IIOP_resp_con_extend_number(注1) + 1) × 0.2K +
    max_IIOP_resp_requests × 16K +
    (max_IIOP_resp_requests_extend_number(注1) + 1) × 0.2K +
    max_impl_rep_entries × 6K +
    max_bind_instances(注5) × 0.1K + 100K 以上

    • [trace_use=yesの場合]
      上記値 +
      max_processes × trace_size_per_process +
      trace_size_of_daemon(注2) + 20K 以上

    • [snap_use=yesの場合]
      上記値 + snap_size + 10K 以上

  • number_of_common_buffer(注3) × 4K 以上 +
    (number_of_common_buffer_extend_number(注1) + 1) × 0.2K

  • max_exec_instance × 0.15KB 以上

  • [Buffer Size、Buffer Number(ワークユニット定義)を指定したCORBAワークユニット、IJServer起動時]
    (Buffer Size + 0.2K) × Buffer Number 以上 (注4)

kernel.shmmni

加算値

max_IIOP_resp_con_extend_number(注1)
max_IIOP_resp_requests_extend_number(注1)
number_of_common_buffer_extend_number(注1)
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” + 14

注1)

[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。limit_of_[パラメタ名]は、0が指定された場合は自動計算されます。計算式の詳細については、“config”を参照してください。
  (limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。

注2)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
  trace_size_per_process × 32

注3)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
  max_IIOP_resp_requests × 0.2

注4)

Buffer Size、Buffer Numberを指定したワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が該当します。
なお、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が  2,147,483,647より小さい値になるようにBuffer Size、Buffer Numberの値を設定してください。

注5)

デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_processes × 1024 (計算結果が65,535を超えた場合は65,535)

セマフォ

パラメタ

資源制御

種類

必要数

semmni

project.max-sem-ids

加算値

以下の値のうち、最大値を指定します。

  • 512

  • max_IIOP_resp_con_extend_number(注1) × 5 +
    max_IIOP_resp_requests_extend_number(注1)
    max_impl_rep_entries +
    プロセスモードのCORBAサーバアプリケーションの起動プロセス数(注2)
    “Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 100 以上

semmsl

process.max-sem-nsems

設定値

以下の値のうちの最大値以上の値を指定します。

  • max_IIOP_resp_con

  • max_processes

semopm

process.max-sem-ops

設定値

50 以上

1)

[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
  (limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。

2)

起動プロセス数が分からない場合はmax_processesを指定してください。

セマフォ

パラメタ

種類

必要数

para1

設定値

以下の値のうちの最大値以上の値を指定します。

  • max_IIOP_resp_con

  • max_processes

para2

加算値

limit_of_max_IIOP_resp_con(注1) × 4 +
max_IIOP_resp_con_extend_number(注2)
max_IIOP_resp_requests_extend_number(注2)
max_impl_rep_entries +
max_processes × 4 +
プロセスモードのCORBAサーバアプリケーションの起動プロセス数(注3)
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 14 以上

[トレース機能を使用する場合]
上記値 + 1 以上

[スナップショット機能を使用する場合]
上記値 + 1 以上

[SSL連携機能を使用する場合]
上記値 + limit_of_max_IIOP_resp_con(注1) 以上

para3

設定値

50 以上

para4

加算値

以下の値のうち、最大値を指定します。

  • 512

  • max_IIOP_resp_con_extend_number(注2) × 5 +
    max_IIOP_resp_requests_extend_number(注2)
    max_impl_rep_entries +
    プロセスモードのCORBAサーバアプリケーションの起動プロセス数(注3)
    “Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 100 以上

注1)

limit_of_[パラメタ名]のデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
  [パラメタ名] × 1.3 (小数部分切り捨て)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、[パラメタ名]となります。

注2)

[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
  (limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。

注3)

起動プロセス数が分からない場合はmax_processesを指定してください。

メッセージキュー

パラメタ

資源制御

種類

必要数

msgmnb

process.max-msg-qbytes

設定値

32,768 以上

msgmni

project.max-msg-ids

加算値

512 以上

メッセージキュー

パラメタ

種類

必要数

kernel.msgmax

設定値

16,384 以上

kernel.msgmnb

設定値

32,768 以上

kernel.msgmni

加算値

512 以上


インタフェースリポジトリ

  インタフェースリポジトリを使用する場合に必要となるシステム資源を以下に示します。

共用メモリ

パラメタ

資源制御

種類

必要数

shmmax

設定値

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

project.max-shm-memory

加算値

[ログ採取時(EJBサービス未使用)]
(logging memory size + 16K) × 3 (注)

Enterprise EditionStandard-J Edition[ログ採取時(EJBサービス使用)]
(logging memory size + 16K) × 4 (注)

shmmni

project.max-shm-ids

加算値

[EJBサービスを使用しない場合]
3

Enterprise EditionStandard-J Edition[EJBサービスを使用する場合]
4

)

“logging memory size”は、CORBAサービスのirconfigファイルで指定します。詳細については、“A.6 irconfig”を参照してください。

共用メモリ

パラメタ

種類

必要数

kernel.shmmax

設定値

[ログ採取時]
logging memory size + 16K (注)

)

“logging memory size”は、CORBAサービスのirconfigファイルで指定します。詳細については、“A.6 irconfig”を参照してください。


ネーミングサービス

  ネーミングサービスにネーミングコンテキストを多数作成する場合に必要となるシステム資源を、以下に示します。

パラメタ

種類

必要数

(注)

加算値

ネーミングコンテキスト数 + 16 以上

)

プロセス数あたりのオープン可能なファイル数です。該当するパラメタはありません。
bash(Linux)または、ボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して、ネーミングサービスのプロセスが必要とするファイルをオープンできるだけの値を設定してください。コマンドの詳細については、OSのドキュメントを参照してください。


アプリケーションで使用するスレッド数・プロセス数

  CORBAサービスでアプリケーションを実行する場合、アプリケーションから生成されるプロセス数・スレッド数が多くなる場合には、システムパラメタを変更する必要があります。
  アプリケーションをマルチスレッドで作成している場合に、生成されるスレッド数の目安を以下に示します。

分類

スレッド数

CORBAサービス

25個 + クライアントアプリケーションとの接続数
+ CORBAアプリケーションプロセス数

サーバアプリケーション

1プロセスにつき (6個 + スレッド多重度数)

クライアントアプリケーション

1プロセスにつき8個


  システムパラメタで、変更が必要となるものを以下に示します。

パラメタ

内容

max_nprocs

システム全体で生成できるプロセス数

kernel.threads-max

システム全体で生成できるプロセス数とスレッド数の合計


  システムパラメタ以外で、考慮するパラメタを以下に示します。

パラメタ

内容

(注1)

プロセスの最大スタックサイズ

(注2)

1人のユーザが使用できる最大のプロセス数

注1)

該当するパラメタはありません。
bashまたはボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して設定してください。この値にスレッド数を掛けた値が、プロセスのスタック領域として使用されます。1つのプロセスで使用可能なメモリを超過してスレッドは生成できないため、1つのプロセスが生成できるスレッド数は限界があります。
CORBAサーバアプリケーションおよびEJBアプリケーションのリクエスト処理多重度は“スレッド多重度 × プロセス多重度”で計算されます。1つのプロセスで使用可能なメモリサイズによってスレッド多重度を上げることができない場合は、プロセス多重度を上げることを検討してください。CORBAサーバアプリケーションのスレッド多重度・プロセス多重度については“リファレンスマニュアル(コマンド編)”の“OD_impl_inst”に記載されているproc_conc_max、thr_conc_init、thr_conc_maximumを参照してください。

Enterprise EditionStandard-J EditionEJBアプリケーションのスレッド多重度については、“J2EE ユーザーズガイド(旧版互換)”-“EJBコンテナのチューニング”に記載されている“同時処理数”を参照してください。

注2)

該当するパラメタはありません。
bashまたはボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して設定してください。ユーザが生成するプロセス数とスレッド数の合計値以上の値に設定してください。


ファイルディスクリプタ数

  CORBAサービスで多数のアプリケーションを動作させ(多端末接続時など)、使用するファイルディスクリプタ数がシステムのデフォルト値を超える場合は、システムパラメタにその値を設定してください。

パラメタ

内容

rlim_fd_cur
(システムパラメタ)

使用するファイルディスクリプタ数がデフォルト値を超える場合に設定。

  システムパラメタで、変更が必要となるものを以下に示します。

パラメタ

内容

fs.file-max

システム全体のファイルディスクリプタの上限値。


  システムパラメタ以外で、考慮するパラメタを以下に示します。

パラメタ

内容

nofile (注1)

各ユーザのオープン可能なファイルディスクリプタの上限値

注1)

/etc/security/limits.conf ファイルを編集します。limits.conf ファイルの詳細については、オペレーティングシステムのドキュメントを参照してください。