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

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

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

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

■システムパラメタ

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

CORBAサービス

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


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

共用メモリ

パラメタ

種類

必要数

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
  • [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)

セマフォ

パラメタ

種類

必要数

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 +
“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 +
    “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となります。

メッセージキュー

パラメタ

種類

必要数

kernel.msgmax

設定値

16,384 以上

kernel.msgmnb

設定値

32,768 以上

kernel.msgmni

加算値

512 以上

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

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

共用メモリ

パラメタ

種類

必要数

kernel.shmmax

設定値

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

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

ネーミングサービス

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

パラメタ

種類

必要数

(注)

加算値

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

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

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

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

分類

スレッド数

CORBAサービス

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

サーバアプリケーション

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

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

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

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

パラメタ

内容

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を参照してください。EJBアプリケーションのスレッド多重度については“EJBコンテナのチューニング”に記載されている“同時処理数”を参照してください。
注2)
該当するパラメタはありません。
bashまたはボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して設定してください。ユーザが生成するプロセス数とスレッド数の合計値以上の値に設定してください。

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

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

パラメタ

内容

fs.file-max
(システムパラメタ)

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


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

Copyright 2008 FUJITSU LIMITED