Oracle Containers for J2EE
構成および管理ガイド
10g(10.1.3.4.0) B50866-01 |
|
この章では、OC4Jインスタンスに対するタスク・マネージャの構成、およびOC4JインスタンスおよびWebサイト・アプリケーションに対するスレッド・プールの構成に関するガイドラインを示します。この章の内容は次のとおりです。
タスク・マネージャは、HTTPセッションのタイムアウトや変更済構成ファイルのチェックなど、保留タスクをすべて実行するバックグラウンド・プロセスです。デフォルトでは、1秒(1000ミリ秒)間隔で実行します。
タスク・マネージャの実行間隔は、server.xml
構成ファイルの<application-server>
要素のtaskmanager-granularity
属性にミリ秒単位で指定されます。これは、OC4Jコンテナ・レベルのパラメータです。デフォルトは1000ミリ秒です。
たとえば、server.xml
の次のエントリは、1分(60000ミリ秒)間隔で実行するようにタスク・マネージャを構成します。
<application-server ... taskmanager-granularity="60000" ...>
server.xml
の変更後に、OC4Jを再起動する必要があります。
注意:
このパラメータは、 MBeanへのアクセスおよび使用によるOC4Jプロセスの管理の詳細は、第12章「OC4JでのMBeanの使用方法」を参照してください。 |
スレッド・プールは、OC4JプロセスおよびOC4Jインスタンスにデプロイされているアプリケーションで利用および再利用するためのスレッドを作成して格納します。要求に応じて新規スレッドを作成するのではなく、既存のスレッドを再利用ことで、パフォーマンスを向上させ、JVMや基礎となるオペレーティング・システムに対する負荷を軽減します。
表10-1に、OC4J 10g(10.1.3.4.0)で使用可能なスレッド・プールをリストします。
デフォルトでは、OC4Jの起動時にこれらのスレッド・プールが3つ作成されます。
各スレッド・プールでは、アイドル・スレッドは、リクエスト数が使用可能なスレッド数を超えないかぎり、新規スレッドが生成される前に再利用されます。非アクティブ状態で10分経過すると、アイドル・スレッドは自動的に破棄されます。
各スレッド・プールは、server.xml
ファイルの<thread-pool>要素または<custom-thread-pool>要素によって定義されます。表10-2にこれらの要素の属性をまとめ、デフォルトの属性値を示します。
デフォルトのスレッド・プール構成を使用することも、変更することも可能です。各OC4Jインスタンスでは、system
を除く任意のスレッド・プールの属性値を変更できます。また、rmi request
、rmi connection
および1つ以上のカスタム・スレッド・プールを追加できます。次の各項では、スレッド・プールの構成方法について説明します。
表10-2 <thread-pool>および<custom-thread-pool>の属性
次に示す方法で、Application Server Controlを使用するか、server.xml
ファイルを編集することで、OC4Jインスタンスのスレッド・プール構成を変更できます。
MBeanへのアクセスおよびMBeanを使用したOC4Jの管理の詳細は、「システムMBeanブラウザの使用方法」を参照してください。
server.xml
に<thread-pool>
要素を追加して、rmi request
またはrmi connection
スレッド・プール、あるいはその両方を構成server.xml
の変更後に、OC4Jを再起動する必要があります。
Application Server Controlを使用してOC4Jインスタンスのスレッド・プール構成を変更するには、次のようにします。
属性値の詳細は、表10-2または「<thread-pool>」を参照してください。
次の「MBeansを使用したスレッド・プール構成の変更」で説明するように、Application Server ControlのMBeansを使用してスレッド・プールを構成することもできます。
Application Server ControlのMBeansを使用してスレッド・プールの属性を変更するには、次のようにします。
属性値の詳細は、表10-2または「<thread-pool>」を参照してください。
次の例では、<thread-pool>要素を使用して、server.xml
ファイルにrmi request
スレッド・プールを構成します。
<thread-pool name="rmi request" min="50" max="50" queue="2560" keepAlive="-1" stackSize="0" debug="true"/>
この構成では、OC4JによりRMIリクエストを処理する別のスレッド・プールが作成されます。スレッド・プールの属性は次のようになります。
keepAlive
値は-1(タイムアウトなし)
stackSize
値は0(JVMが決定)
debug
属性の設定はtrue
次の例では、server.xml
に別のスレッド・プールを構成する<thread-pool>
要素を示します。1つはRMIリクエストを、もう1つはRMI接続を、最後の1つはHTTPおよびAJPリクエストを処理します。
<thread-pool name="rmi request" min="50" max="50" queue="2560" keepAlive="-1" stackSize="0"/> <thread-pool name="rmi connection" min="44" max="44" queue="2560" keepAlive="-1" stackSize="0"/> <thread-pool name="http" min="40" max="40" queue="2560" keepAlive="-1" stackSize="0"/>
OC4Jインスタンスの起動時に、表10-2のデフォルトの属性値が設定された状態で、http
スレッド・プールがデフォルトで作成されます。その他のrmi-*
スレッド・プールが存在しない場合、このスレッド・プールでは、HTTPおよびAJPリクエストだけでなく、RMIリクエストおよびRMI接続も処理されます。
server.xml
ファイルに<custom-thread-pool>
要素を追加することで、OC4Jインスタンスで使用する別のカスタム・スレッド・プールをアプリケーションに作成できます。その後、アプリケーションの*-web-site.xml
ファイルにある<web-site>
要素のcustom-thread-pool
属性のスレッド・プールを参照することにより、アプリケーションがそのカスタム・スレッド・プールを使用できるようにできます。server-xml
ファイルには、複数の<custom-thread-pool>
要素を指定でき、それぞれのカスタム・スレッド・プールを使用するアプリケーションを2つ以上構成できます。
server.xml
では、<custom-thread-pool>
要素は<application-server>
要素のサブ要素で、name
の値が制限されていないことを除き、<thread-pool>
要素と同じ属性が指定されています。次に例を示します。
<custom-thread-pool name="mypool" min="3" />
name
属性は必須で、その他すべての属性はオプションです。この要素の詳細は、「<custom-thread-pool>」を参照してください。
<thread-pool>要素の詳細は、「スレッド・プール構成の変更」および「<thread-pool>」を参照してください。
*-web-site.xml
ファイルの詳細は、「Webサイト構成ファイル(*-web-site.xml)の概要」を参照してください。custom-thread-pool
属性は、表B-24で説明されています。
次の例では、HTTP Webサイトのdefault-web-site.xml
ファイルの<web-site>要素にcustom-thread-pool
属性を追加して、デフォルト以外のスレッド・プールを使用するHTTP Webサイトを構成しています。
<web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
web-site-10_0.xsd" protocol="http" port="8888" custom-thread-pool="mypool1" display-name="OC4J 10g (10.1.3) Default Web Site" schema-major-version="10" schema-minor-version="0" />
server.xml
の<global-thread-pool>
および<work-manager-thread-pool>
要素は、スレッド・プールが古い形式で構成されています。これらの要素は、OC4J 10g(10.1.3.4.0)では推奨されていません。これらの要素の属性は、表B-7および表B-23で説明されています。
server.xml
ファイルに<global-thread-pool>
または<work-manager-thread-pool>
要素が含まれている場合、OC4J 10g(10.1.3.4.0)により古い形式の要素がserver.xml
の新しい形式に更新されます。たとえば、 server.xml
ファイルに次の要素が含まれているとします。
<global-thread-pool min="60" max="60" queue="20000" keepAlive="-1" /> <work-manager-thread-pool min="23" max="24" queue="5000" keepAlive="-1" />
OC4Jの起動後、server.xml
ファイルには、<global-thread-pool>
および<work-manager-thread-pool>
要素ではなく、次の<thread-pool>
要素が含まれています。
<thread-pool name="http" min="60" max="60" queue="20000" keepAlive="-1" stackSize="0" /> <thread-pool name="jca" min="23" max="24" queue="5000" keepAlive="-1" />
表10-3に、<global-thread-pool>
および<work-manager-thread-pool>
の属性が、OC4J 10g(10.1.3.1.0)で導入された新しいスレッド・プールにどのようにマップされているかを示します。
たとえば、OC4Jにより、次の<global-thread-pool>
要素から新しい<thread-pool>
要素が生成されます。
<global-thread-pool keepAlive="-1" debug="false" cx-keepAlive="-1" cx-debug="false" rmiRequest-keepAlive="-1" rmiRequest-debug="false" min="40" max="40" queue="2560" cx-min="44" cx-max="44" cx-queue="2560" rmiRequest-min="50" rmiRequest-max="50" rmiRequest-queue="2560"/>
<thread-pool>
要素の等価は次のとおりです。
<thread-pool name="rmi request" min="50" max="50" queue="2560" keepAlive="-1" stackSize="0"/> <thread-pool name="rmi connection" min="44" max="44" queue="2560" keepAlive="-1" stackSize="0"/> <thread-pool name="http" min="40" max="40" queue="2560" keepAlive="-1" stackSize="0"/>
|
Copyright © 2006, 2008 Oracle Corporation. All Rights Reserved. |
|