Interstage Application Server/Interstage Web Server チューニングガイド
目次 索引 前ページ次ページ

第3章 システムのチューニング> 3.1 サーバ機能運用時に必要なシステム資源

3.1.1 CORBAサービスのシステム環境の設定

 CORBAサービスを用いたシステムの運用時には、接続するクライアント/サーバ数、オブジェクト数などによりシステム資源を拡張する必要があります。ここでは、システム資源(システムパラメタ、プロセス・スレッド、ファイルディスクリプタ)について説明します

■システムパラメタ

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

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

CORBAサービス

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


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

共用メモリ

パラメタ

資源制御

種類

必要数

shmmax(注7)

設定値

[Solaris 9の場合]
以下の値のうち、最大値を指定します。

  • max_IIOP_resp_con × 16K +
    (max_IIOP_resp_con_extend_number(注2) + 1) × 0.2K +
    max_IIOP_resp_requests × 16K +
    (max_IIOP_resp_requests_extend_number(注2) + 1) × 0.2K +
    max_impl_rep_entries × 6K +
    max_bind_instances(注8) × 0.1K + 100K 以上
    • [trace_use=yesの場合]
      上記値 +
      max_processes × trace_size_per_process +
      trace_size_of_daemon(注3) + 20K 以上
    • [snap_use=yesの場合]
      上記値 + snap_size + 10K 以上
  • number_of_common_buffer(注4) × 4K 以上 +
    (number_of_common_buffer_extend_number(注2) + 1) × 0.2K

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

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(注4) × 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(注8) × 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が指定された場合も、以下と同様になります。Solaris 9の場合、limit_of_[パラメタ名]は、0が指定された場合は自動計算されます。計算式の詳細については、“config”を参照してください。
 (limit_of_[パラメタ名] − [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。
注3)
デフォルトは以下です。0が指定された場合も、以下と同様になります。
 trace_size_per_process × 32
注4)
デフォルトは以下です。0が指定された場合も、以下と同様になります。
 limit_of_max_IIOP_resp_requests (Solaris 10の場合)
 max_IIOP_resp_requests × 0.2 (Solaris 9の場合)
注5)
Solaris 10の場合、Buffer Size、Buffer Numberを指定したCORBAワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値に、“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数”を積算した値が該当します。
Solaris 9の場合、Buffer Size、Buffer Numberを指定したCORBAワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が該当します。
なお、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が 2,147,483,647より小さい値になるようにBuffer Size、Buffer Numberの値を設定してください。
注6)
マルチシステム機能を使用する場合は、拡張システム数を積算した値を加算してください。
マルチシステム機能はInterstage Application Server Enterprise Editionで使用できます。
注7)
Solaris 10でshmmaxを設定する場合、Solarisのドキュメントおよび“システムパラメタについて”を参照して値を決定してください。
注8)
デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_processes × 1024 (計算結果が65,535を超えた場合は65,535)

セマフォ

パラメタ

資源制御

種類

必要数

semmni

project.max-sem-ids

加算値

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

  • 512
  • max_IIOP_resp_con_extend_number(注3) × 5 +
    max_IIOP_resp_requests_extend_number(注3)
    max_impl_rep_entries +
    “Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 100 以上

semmns (注1)

加算値

limit_of_max_IIOP_resp_con(注2) × 4 +
max_IIOP_resp_con_extend_number(注3)
max_IIOP_resp_requests_extend_number(注3)
max_impl_rep_entries +
max_processes × 3 +
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 14 以上

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

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

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

semmnu (注1)

加算値

max_impl_rep_entries + max_processes × 3 +
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 6 以上

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

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

semmsl

process.max-sem-nsems

設定値

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

  • max_IIOP_resp_con
  • max_processes

semopm

process.max-sem-ops

設定値

50 以上

semume (注1)

加算値

limit_of_max_IIOP_resp_con(注2) × 3 +
max_IIOP_resp_con_extend_number(注3)
max_IIOP_resp_requests_extend_number(注3)
max_impl_rep_entries +
max_processes × 2 +
“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数” × 2 + 11 以上

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

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

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

semvmx(注1)

設定値

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

  • OSデフォルト値(32767)
  • Buffer Number(ワークユニット定義)の最大値
注1)
Solaris 9でのみ有効です。
注2)
limit_of_[パラメタ名]のデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
 [パラメタ名] × 1.3 (小数部分切り捨て)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、[パラメタ名]となります。
注3)
[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
 (limit_of_[パラメタ名] − [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。

メッセージキュー

パラメタ

資源制御

種類

必要数

msgmax (注)

設定値

16,384 以上

msgmnb

process.max-msg-qbytes

設定値

32,768 以上

msgmni

project.max-msg-ids

加算値

512 以上

注)
Solaris 9でのみ有効です。

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

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

共用メモリ

パラメタ

資源制御

種類

必要数

shmmax(注1)

設定値

[ログ採取時][Solaris 9の場合]
logging memory size + 16K (注2)

project.max-shm-memory

加算値

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

[ログ採取時(EJBサービス使用)][Solaris 10の場合]
(logging memory size + 16K) × 4 (注2)

shmmni

project.max-shm-ids

加算値

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

[EJBサービスを使用する場合]
4

注1)
Solaris 10でshmmaxを設定する場合、Solarisのドキュメントおよび“システムパラメタについて”を参照して値を決定してください。
注2)
“logging memory size”は、CORBAサービスのirconfigファイルで指定します。詳細については、“irconfig”を参照してください。

ネーミングサービス

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

パラメタ

種類

必要数

(注)

加算値

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

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

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

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

分類

スレッド数

CORBAサービス

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

サーバアプリケーション

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

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

1プロセスにつき最大 8個

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

パラメタ

内容

max_nprocs

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

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

パラメタ

内容

(注1)

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

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

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

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

パラメタ

内容

rlim_fd_cur
(システムパラメタ)

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


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED