ヘッダーをスキップ
Oracle Identity Managerベスト・プラクティス・ガイド
リリース9.1.0.2
B56034-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 アプリケーション・サーバーのパフォーマンスのチューニング

この章では、Oracle Identity Manager用のアプリケーション・サーバーをアップグレードしパフォーマンスを向上させる方法を説明します。この章では、次の項目について説明します。


注意:

この項では、すべてのチューニング・パラメータの推奨事項および値を参考のみの目的で示しています。必要性、アプリケーション使用方法のパターン、負荷およびハードウェア仕様に基づいて、値を変更してください。

4.1 Oracle WebLogic Serverバージョン10.x

Oracle WebLogic Serverバージョン10.xにデプロイされたOracle Identity Managerに固有の推奨事項は、次のとおりです。


注意:

いずれかの設定を変更した場合、サーバーを再起動する必要があります。


関連項目:

Oracle Application Serverのチューニングの詳細は、『Oracle WebLogic Server Performance and Tuning』ドキュメントを参照してください。

4.1.1 JVMメモリー設定

この項では、次に示すOracle Identity Managerのデプロイ先に応じた、JVMメモリー設定の増加方法を示します。

4.1.1.1 WebLogic管理サーバーへのデプロイ

WebLogic管理サーバーへのOracle Identity Managerのデプロイの場合、JVMメモリー設定を増加する手順は次のとおりです。

  1. WebLogic Server管理コンソールを使用して、アプリケーション・サーバーを正常に停止します。

  2. Weblogic DOMAIN_HOME/binにナビゲートします。例: C:\bea103\user_projects\domains\base_domain\binまたは/opt/bea103/user_projects/domains/base_domain/bin

  3. Microsoft Windowsの場合は、xlStartWLS.cmdを開きます。UNIXの場合は、xlStartWLS.shを開きます。

    Microsoft Windowsの場合:

    "SET JAVA_OPTIONS=...."の前に、JVMのタイプに応じて次のいずれかの行を追加します。

    • SunおよびHP JVMの場合は、set USER_MEM_ARGS=-Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256mを追加します。

    • JRockit JVMの場合は、set USER_MEM_ARGS=-Xms1280m -Xmx1280m -XnoOptを追加します。

    • IBM JVMの場合は、set USER_MEM_ARGS=-Xms1280m -Xmx1280を追加します。

    UNIXの場合:

    1. "JAVA_OPTIONS=..."の前に、JVMのタイプに応じて次のいずれかの行を追加します。

      SunおよびHP JVMの場合は、USER_MEM_ARGS=-Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256mを追加します。

      JRockit JVMの場合は、USER_MEM_ARGS=-Xms1280m -Xmx1280 -XnoOptを追加します。

      IBM JVMの場合は、USER_MEM_ARGS=-Xms1280m -Xmx1280を追加します。

    2. 次の行を追加します。

      export USER_MEM_ARGS
      

4.1.1.2 WebLogic管理対象サーバーへのデプロイ

Oracle Identity ManagerをWebLogic管理対象サーバーにデプロイできます。クラスタ・インストールでは、このオプションのみとなります。管理対象サーバーの起動方法に応じて(WebLogic管理コンソールの使用、ノード・マネージャの使用、スクリプトの実行など)、異なる場所を変更する必要があります。

4.1.1.2.1 xlStartManagedServerスクリプトでの管理対象サーバーの起動

xlStartManagedServerスクリプトを実行して管理対象サーバーを起動する場合は、DOMAIN_HOME/bin/xlStartManagedServer.shスクリプトまたはDOMAIN_HOME/bin/xlStartManagedServer.cmdスクリプトに対して、Weblogic管理サーバーへのOracle Identity ManagerのデプロイでJVMメモリー設定を増加する場合の手順を繰り返します。詳細は、「WebLogic管理サーバーへのデプロイ」を参照してください。

4.1.1.2.2 管理コンソールでの管理対象サーバーの起動

管理コンソールを使用して管理対象サーバーを起動する場合、JVMメモリー設定を増加するには、次の手順を実行します。

  1. WebLogic Server管理コンソールを開きます。

  2. 「環境」「サーバー」SERVER_NAMEOIM_SERVER1など)をクリックします。

  3. 「サーバーの起動」タブをクリックします。

  4. WebLogic管理サーバーにOracle Identity Managerをデプロイする場合の手順に従って、JVMメモリーの値を変更します。

4.1.2 JDBC接続プール

JDBCデータソースxlDSは、JMS操作のためにWebLogic JMSによって使用されます。JDBCデータソースXlXADSは、他のすべての目的でOracle Identity Managerによって使用されます。JDBC接続プールの容量を増やすには、次の手順を実行します。

  1. WebLogic Server管理コンソールを開きます。

  2. JDBCデータソースxlXADSの場合:

    1. 「サービス」「JDBC」「データ・ソース」「xlXADS」「接続プール」タブをクリックします。

    2. 「初期容量」と「最大容量」に、同じ値を設定します。たとえば、「初期容量」および「最大容量」を50に設定できます。

    JDBCデータソースxlDSの場合:

    1. 「サービス」「JDBC」「データ・ソース」「xlDS」「接続プール」タブをクリックします。

    2. 「初期容量」と「最大容量」に、同じ値を設定します。たとえば、「初期容量」および「最大容量」を50に設定できます。

  3. 変更を保存し、有効にします。


    注意:

    アプリケーション・サーバーの接続プールでの接続数の増加は、データベース構成の変更による補正が必要です。

4.1.3 メッセージドリブンBeanの数

Oracle Identity Managerでは、メッセージドリブンBean(MDB)を使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトでは、各モジュールで、16 MDBインスタンスがリクエストを同時に処理します。ただし、これは、要件に基づいて、Weblogic作業マネージャ構成を変更することで増加できます。詳細は、Weblogicのドキュメントを参照してください。

4.1.4 UNIX用のオープン・ファイル記述子数の変更(オプション)

WebLogicでは、<WL_HOME>/common/bin/commEnv.shスクリプトでオープン・ファイル記述子の数が1024に制限されています。WebLogicでは同時ユーザー数が非常に多い場合、「TOO MANY OPEN FILES」例外がスローされることがあります。このエラーが発生した場合は、この制限値を1024より大きい数値に変更します。オペレーティング・システムが増加したオープン・ファイル数を処理できることを確認してください。

4.2 IBM WebSphere Application Serverバージョン6.1

IBM WebSphere Application Serverバージョン6.1にデプロイされたOracle Identity Managerに対する固有の推奨事項は、次のとおりです。


注意:

いずれかの設定を変更した場合、サーバーを再起動する必要があります。

4.2.1 JVMメモリー設定

クラスタ化していない環境でJVMメモリー設定を増やすには、次の手順を実行します。

  1. 次のURLを使用して、WebSphere管理コンソールにログインします。

    http://WEBSPHERE_HOSTNAME:WEBSPHERE_ADMIN_PORT /admin
    
  2. 「Servers」「Application Servers」を順に選択します。

  3. サーバー名を選択します。

  4. 「Server Infrastructure」から「Java and Process Management」をクリックします。

  5. 「Process Definition」を選択します。

  6. 「Additional Properties」から「Java Virtual Machine」をクリックし、次の値を入力します。

    最小ヒープ・サイズ = 1280

    最大ヒープ・サイズ = 1280

    汎用JVM引数 = -Xjit:disableLocalVP,disableGlobalVP

  7. 「OK」をクリックします。

  8. 「Save」をクリックして設定をコミットします。


注意:

クラスタ環境の場合、前述した手順をクラスタ内の各サーバー上で実行し、設定を変更する必要があります。

4.2.2 JDBC接続プール

xlConnectionPoolは、JMSの操作のためにWebLogic JMSで使用されます。XlXAConnectionPoolは、それ以外のすべての目的でOracle Identity Managerで使用されます。JDBC接続プールの容量を増やすには、次の手順を実行します。

  1. WebSphere管理コンソールにログインします。

  2. 「Resources」「JDBC」「Data Sources」「Non XA DataSource」を順に選択します。「Additional」プロパティ下の「Connection pool」プロパティを選択します。次の値を入力します。

    最小接続数 = 10

    最大接続数 = 50

  3. 「OK」「Save」を順にクリックします。

  4. 「Resources」「JDBC」「Data Sources」「XA DataSource」を順に選択します。「Additional」プロパティ下の「Connection pool」プロパティを選択します。次の値を入力します。

    最小接続数 = 30

    最大接続数 = 50

  5. 「OK」「Save」を順にクリックします。

4.2.3 メッセージドリブンBeanの数

Oracle Identity Managerでは、MDBを使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトのMDBの数は、重い負荷に対して十分ではありません。


注意:

インストールで使用されているJMSに応じ、適切な手順を選択してください。

デフォルトのJMSメッセージに対するMDBの数を増やすには、次の手順を実行します。

  1. 「Resources」「Resource Adapters」「J2C activation specifications」を順にクリックします。

  2. 各キュー仕様に対して、次のようにします。

    1. 「Additional Properties」で「J2C activation specification custom properties」をクリックします。

    2. 1ページ目で、「maxConcurrency」リンクを選択して「Value」を20に設定します。

    3. 「OK」「Save」を順にクリックします。

    4. 矢印をクリックして、2ページ目に進みます。

    5. 2ページ目で、「maxConcurrency」リンクを選択して「Value」を20に設定します。

    6. 「OK」「Save」を順にクリックします。


    注意:

    MDBの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。

デフォルトではないJMSメッセージに対するMDBの数を増やすには、対応するリスナー・ポートに対する「Maximum Sessions」の値を大きくします。たとえば、リコンシリエーションに対してMDBを使用する場合、リコンシリエーションで使用するリスナー・ポートを選択して「Maximum Sessions」の値を大きくします。

4.2.4 スレッド・プール

サーバー・スレッド・プールを増やすには、次の手順を実行します。

  1. WebSphere管理コンソールにログインします。

  2. 「Application Server」、Oracle Identity Managerがデプロイされているサーバー、「Thread Pools」を順にクリックします。

  3. 「Default」をクリックして、「Minimum Size」および「Maximum Size」の値を設定します。たとえば、「Minimum Size」に20を入力し、「Maximum Size」に75を入力します。

  4. 「Save」をクリックします。


    注意:

    クラスタ環境の場合、前述の手順での変更をクラスタの各サーバーに実装する必要があります。

    また、スレッドの増加がCPU容量でサポートされていることを確認してください。


4.3 JBoss Application Serverバージョン4.2.3

JBoss Application Serverバージョン4.2.3へのOracle Identity Managerのデプロイに固有の推奨事項は、次のとおりです。


注意:

いずれかの設定を変更した場合、サーバーを再起動する必要があります。

4.3.1 JVMメモリー設定

使用する環境のオペレーティング・システムに応じて、次の手順を実行します。

Microsoft Windowsの場合:

  1. JBOSS_HOME\bin\run.batファイルをテキスト・エディタで開きます。

  2. 次の行を検索します。

    set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
    
  3. メモリー設定を、次の推奨値に変更します。

    set JAVA_OPTS=%JAVA_OPTS% -Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
    
  4. run.batファイルを保存して閉じます。

UNIXの場合:

  1. JBOSS_HOME/bin/run.confファイルをテキスト・エディタで開きます。

  2. 次の行を検索します。

    JAVA_OPTS="-Xms128m -Xmx512m"
    
  3. メモリー設定を、次の推奨値に変更します。

    JAVA_OPTS="-server -Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m"
    
  4. run.confファイルを保存して閉じます。

4.3.2 JDBC接続プール

JDBC接続プールを変更するには、JBOSS_HOME/server/default/deploy/xell-ds.xmlファイルを開き、次のようにします。


注意:

JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、xell-ds.xmlファイルはJBOSS_HOME/server/all/farmにあります。

  1. jdbc/xlDSプールで、行</local-tx-datasource>の前に次を挿入します。

    <min-pool-size>10</min-pool-size>
    <max-pool-size>50</max-pool-size>
    <blocking-timeout-millis>15000</blocking-timeout-millis>
    <idle-timeout-minutes>15</idle-timeout-minutes>
    
  2. jdbc/xlXADSプールで、行</xa-datasource>の前に次を挿入します。

    <min-pool-size>30</min-pool-size>
    <max-pool-size>50</max-pool-size>
    <blocking-timeout-millis>15000</blocking-timeout-millis>
    <idle-timeout-minutes>15</idle-timeout-minutes>
    

4.3.3 スレッド・プール

スレッドの数を増やすには、次の手順を実行します。

  1. JBOSS_HOME/server/default/conf/jboss-service.xmlを開きます。


    注意:

    JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、jboss-service.xmlファイルはJBOSS_HOME/server/all/confにあります。

  2. 次のように最大プール・サイズを設定して、ファイルを保存します。

    <mbean code="org.jboss.util.threadpool.BasicThreadPool" name="jboss.system:service=ThreadPool">
    ...
    <attribute name="MaximumPoolSize">50</attribute>
    ...
    </mbean>
    

注意:

スレッドの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。

また、スレッドの増加がCPU容量でサポートされていることを確認してください。


4.3.4 JMSプール・サイズ

JMSプール・サイズを大きくするには、次の手順を実行します。

  1. JBOSS_HOME/server/default/deploy/jms/jms-ds.xmlファイルをテキスト・エディタで開きます。


    注意:

    JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、JBOSS_HOME/server/all/deploy/jms/hajndi-jms-ds.xmlファイルをテキスト・エディタで開きます。

  2. 次のように最大プール・サイズを設定して、ファイルを保存します。

    <tx-connection-factory>...<max-pool-size>20</max-pool-size>...</tx-connection-factory>
    

注意:

JMSプール・サイズの増加に応じて、JDBC接続プールの増加が必要な場合があります。

4.3.5 メッセージドリブンBeanおよびDQL再試行の数

MDBのサイズを大きくするには、次の手順を実行します。

  1. JBOSS_HOME/server/default/conf/standardjboss.xmlファイルをテキスト・エディタで開きます。


    注意:

    JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、JBOSS_HOME/server/all/conf/standardjboss.xmlファイルをテキスト・エディタで開きます。

  2. 次のxmlフラグメントを検索します。

    <invoker-proxy-binding>
    <name> message-driven-bean</name>
    ...
    <MinimumSize>4</MinimumSize>
    <MaximumSize>20</MaximumSize>
    ...
    
  3. このフラグメントに、次のように追加します。

    <DLQConfig>
    ...
    <MaxTimesRedelivered>5</MaxTimesRedelivered>
    ...
    </invoker-proxy-binding>
    

    前述した属性を追加すると、障害が発生した場合、JMSメッセージはこの属性で定義される回数再配信されます。


注意:

これらの変更に応じて、JDBC接続プールの増加が必要な場合があります。

4.3.6 デプロイメント・スキャン

デプロイ・スキャンを無効にするには、次の手順を実行します。

  1. JBOSS_HOME/server/default/conf/jboss-service.xmlファイルをテキスト・エディタで開きます。


    注意:

    JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、JBOSS_HOME/server/all/conf/jboss-service.xmlファイルをテキスト・エディタで開きます。

  2. xmlフラグメントを検索し、次のように編集します。

    <!-- An mbean for hot deployment/undeployment of archives.
    -->
    <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
    name="jboss.deployment:type=DeploymentScanner,flavor=URL">
    ...
    
    <attribute name="ScanPeriod">5000</attribute>
    <attribute name="ScanEnabled">False</attribute>
    ...
    </mbean>
    

4.4 Oracle Application Serverリリース10.1.3.x

Oracle Application Server10.1.3.xにデプロイされたOracle Identity Managerに対する固有の推奨事項は、次のとおりです。


注意:

いずれかの設定を変更した場合、サーバーを再起動する必要があります。

Oracle Application ServerをアップグレードしてOracle Application Serverにパッチを適用する方法は、MetaLink Note 553266.1を参照してください。


4.4.1 JVMメモリー設定

Oracle Application Serverヒープ・サイズを大きくするには、次の手順を実行します。

  1. ORACLE_HOME/opmn/conf/opmn.xmlファイルをテキスト・エディタで開きます。

  2. 次のメモリー設定を検索します。

    -XX:MaxPermSize=128M -ms512M -mx1024M
    
  3. メモリー設定を次のように変更します。

    -ms1280m -mx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
    
  4. ORACLE_HOME/opmn/conf/opmn.xmlファイルを保存して閉じます。


注意:

クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。

4.4.2 JDBC接続プール

Oracle Application Serverコントロールを使用して接続プールのパラメータを変更しないでください。これは、ユーザーがデータベース側でロックされる原因になります。接続プールの変更は、次のようにして構成ファイル内で実行することをお薦めします。

  1. Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスを停止します。

  2. ORACLE_HOME/j2ee/INSTANCE_NAME/config/data-sources.xmlファイルをテキスト・エディタで開きます。

    1. xlConnectionPoolの場合、最小および最大接続プールの値を次のように設定します。

      min-connections="10"

      max-connections="50"

    2. xlXAConnectionPoolの場合、最小および最大接続プールの値を次のように設定します。

      min-connections="30"

      max-connections="100"


注意:

クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。

4.4.3 メッセージドリブンBeanの数

Oracle Identity Managerでは、MDBを使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトのMDBの数は、重い負荷に対して十分ではありません。MDBの数を増やすには、次の手順を実行します。

  1. 次のようにMDBの数を変更します。

    ファイルベースのJMS永続性(デフォルトのOIMインストール)の場合:

    1. OIM_HOME/DDTemplates/BO/orion-ejb-jar.xmlを開きます。

    2. すべてのMDBのlistener-threadsの値を20に変更します。これは、各キューのMDBの数を表します。

    データベース/AQベースのJMS永続性の場合:

    1. OIM_HOME/DDTemplates/BO/orion-ejb-jar.xmlを開きます。

    2. すべてのMDBのReceiver-Threadsの値を20に変更します。これは、各キューのMDBの数を表します。

  2. 値の変更後、ディレクトリをOIM_HOME/setupに変更し、次のスクリプトを実行します。

    Microsoft Windowsの場合:

    patch_oc4j.cmd oc4j_admin_password oim_schema_password

    UNIXの場合:

    patch_oc4j.sh oc4j_admin_password oim_schema_password

  3. パッチの終了後、アプリケーション・サーバーを再起動します。これにより、変更された最新のMDBの値でアプリケーションが再ビルドされます。


注意:

クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。

MDBの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。