この章では、Oracle Identity Managerリリース9.1.0用のアプリケーション・サーバーをアップグレードしパフォーマンスを向上させる方法を説明します。この章では、次の項目について説明します。
注意: この項では、すべてのチューニング・パラメータの推奨および値を参考のみの目的で示しています。必要性、アプリケーション使用方法のパターン、負荷およびハードウェア仕様に基づいて、値を変更してください。 |
BEA WebLogic Serverバージョン8.1にデプロイされたOracle Identity Managerに対する固有の推奨は、次のとおりです。
注意: いずれかの設定を変更した場合、サーバーを再起動する必要があります。 |
非クラスタ環境およびクラスタ環境で、JVMメモリー設定を変更する必要があります。
非クラスタ環境でJVMメモリー設定を増やしてJavaオプションを指定するには、次のようにします。
WebLogic Server管理コンソールを使用して、アプリケーション・サーバーを正常に停止します。
BEA_HOME\user_projects\domains\DOMAIN_NAMEにナビゲートします。
たとえば、C:\bea\user_projects\domains\mydomainです。
テキスト・エディタで、次のWebLogic開始スクリプト・ファイルを開きます。
Microsoft Windowsの場合:
startWebLogic.cmd
UNIXの場合:
startWebLogic.sh
次のようにスクリプトを編集し、メモリー・オプションを指定します。
Microsoft Windowsの場合:
次で始まる行を検索します。
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
その前に、次のいずれかの行を追加します。
Sun JVMを使用している場合、次を追加します。
set MEM_ARGS=-Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
BEA JRockit JVMを使用している場合、次を追加します。
set MEM_ARGS=-Xms1280m -Xmx1280m
UNIXの場合:
次で始まる行を検索します。
$JAVA_HOME/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}
その前に、次のいずれかの行を追加します。
Sun JVMを使用している場合、次を追加します。
MEM_ARGS="-Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m" export MEM_ARGS
BEA JRockit JVMを使用している場合、次を追加します。
MEM_ARGS="-Xms1280m -Xmx1280m" export MEM_ARGS
BEA JRockit JVMを使用している場合、-XnoOptオプションを既存のJAVA_OPTIONSに追加します。このオプションにより、適応最適化はオフになります。このオプションは、Oracle Identity Managerの安定した操作のために必要です。
Microsoft Windowsの場合:
次で始まる行を検索します。
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
その前に、次の行を追加します。
set JAVA_OPTIONS=%JAVA_OPTIONS% -XnoOpt
UNIXの場合:
次で始まる行を検索します。
$JAVA_HOME/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}
その前に、次の行を追加します。
JAVA_OPTIONS="$JAVA_OPTIONS -XnoOpt" export JAVA_OPTIONS
ファイルを保存して閉じます。
クラスタ環境でJVMメモリー設定を増やしてJavaオプションを指定するには、次のようにします。
注意: xlStartManagedServerスクリプトを使用して、WebLogicで管理されるサーバーを起動または停止する場合、前の項で説明したようにサーバー起動スクリプトでメモリー設定を指定します。WebLogic Server管理コンソール(「Remote Start」タブ)を使用してサーバーを起動または停止する場合、次の手順を実行します。 |
WebLogic Server管理コンソールを開きます。
サーバー名をクリックします。たとえば、ドメイン名name/Servers下の、xlManagedServer_1などです。
「Remote Start」タブをクリックし、次のようにします。
「Java Home」フィールドに、Sun SDKまたはJRockit SDKディレクトリのパスを入力します。たとえば、C:\bea\jdk142_15と入力します。
「BEA_HOME」フィールドを設定します。たとえば、BEA WebLogic ServerがCドライブにインストールされている場合、「BEA_HOME」フィールドをC:\beaに設定します。
「Arguments」フィールドに次を追加して、メモリーを増やします。
Sun SDKの場合:
-Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
JRockit SDKの場合:
-Xms1280m -Xmx1280m -XnoOpt
注意: すべての管理サーバーでこの手順を実行する必要があります。 |
「Remote Start」タブの「Apply」をクリックして、設定を保存します。
xlConnectionPoolは、JMSの操作のためにWebLogic JMSで使用されます。XlXAConnectionPoolは、それ以外のすべての目的でOracle Identity Managerで使用されます。JDBC接続プールの容量を増やすには、次の手順を実行します。
WebLogic Server管理コンソールを開きます。
「Servers」→「JDBC」→「Connection Pools」を順にクリックします。
xlConnectionPoolの場合:
「xlConnection Pool」をクリックして「Connections」タブを選択し、次のように設定します。
初期容量 = 30
最大容量 = 50
xlXAConnectionPoolの場合:
「xlXAConnection Pool」をクリックして「Connections」タブを選択し、次のように設定します。
初期容量 = 30
最大容量 = 50
「Apply」、「Save」を順にクリックします。
Oracle Identity Managerでは、メッセージドリブンBean(MDB)を使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトのMDBの数は、重い負荷に対して十分ではありません。BEA WebLogic Serverは、すべてのタイプのMDBで共有される実行キューを使用します。
次のメソッドのいずれかを使用すると、MDBの数を増やすことができます。
MDBスレッド数 = (スレッド件数)/2+1
デフォルトでは、本番モードのWebLogicインストールのスレッド件数は25です。そのため、MDBは最大13のスレッドを使用できますが、これはすべてのタイプのMDBで共有されます。スレッド件数を増やすには、次の手順を実行します。
WebLogic管理コンソールにログインします。
Oracle Identity Managerがデプロイされているサーバーで「View Execute Queues」を右クリックします。
「weblogic.kernel.Default」をクリックして、「Thread Count」に適切な値を設定します。
注意: 増加したスレッド数がCPU容量でサポートされていることを確認してください。MDBの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。 |
アプリケーション使用方法に応じ、各MDBに対して別のキューを作成できます。たとえば、大規模なリコンシリエーション・ワークフローでは、リコンシリエーションと監査に対して別のキューを作成し、dispatch-policy要素を使用して対応するMDBに割り当てます。次に例を示します。
WebLogic管理コンソールで、実行キューを作成します(たとえば、OIMReconQueue)。実行キューの作成方法の詳細は、BEA WebLogicのドキュメントを参照してください。
dispatch-policy要素を使用して、OIM_HOME\DDTemplates\BO\weblogic-ejb-jar.xmlを変更します。次のようにします。
weblogic-ejb-jar.xmlファイルで次のxmlセグメントを検索します。
weblogic-enterprise-bean <ejb-name>ReconMessageHandlerMDB</ejb-name> <message-driven-descriptor> … </message-driven-descriptor>
</message-driven-descriptor>
の末尾に、次の行を追加します。
<dispatch-policy>OIMReconQueue</dispatch-policy>
値の変更後、ディレクトリをOIM_HOME/setupに変更し、次のスクリプトを実行します。
Microsoft Windowsの場合:
patch_weblogic.cmd weblogic_admin_password oim_schema_password
UNIXの場合:
patch_weblogic.sh weblogic_admin_password oim_schema_password
パッチの終了後、アプリケーション・サーバーを再起動します。
注意: 詳細は、BEA WebLogicのドキュメントを参照してください。また、スレッドの増加がCPU容量でサポートされていることを確認してください。 |
WebLogicでは、<WL_HOME>/common/bin/commEnv.shスクリプト内のオープン・ファイル記述子の数は1024に制限されています。大量の同時ユーザーが発生すると、WebLogicでは「TOO MANY OPEN FILES」例外がスローされる場合があります。このエラーが発生したら、制限を1024より大きくする必要があります。オペレーティング・システムが増加したオープン・ファイルの数を処理できることを確認してください。
IBM WebSphere Application Serverバージョン6.1にデプロイされたOracle Identity Managerに対する固有の推奨は、次のとおりです。
注意: いずれかの設定を変更した場合、サーバーを再起動する必要があります。 |
非クラスタ環境でJVMメモリー設定を増やすには、次の手順を実行します。
次のURLを使用して、WebSphere管理コンソールにログインします。
http://WEBSPHERE_HOSTNAME:WEBSPHERE_ADMIN_PORT /admin
「Servers」、「Application Servers」を順に選択します。
サーバー名を選択します。
「Server Infrastructure」から「Java and Process Management」をクリックします。
「Process Definition」を選択します。
「Additional Properties」から「Java Virtual Machine」をクリックし、次の値を入力します。
最小ヒープ・サイズ = 1280
最大ヒープ・サイズ = 1280
汎用JVM引数 = -Xjit:disableLocalVP,disableGlobalVP
「OK」をクリックします。
「Save」をクリックして設定をコミットします。
注意: クラスタ環境の場合、前述した手順をクラスタ内の各サーバー上で実行し、設定を変更する必要があります。 |
xlConnectionPoolは、JMSの操作のためにWebLogic JMSで使用されます。XlXAConnectionPoolは、それ以外のすべての目的でOracle Identity Managerで使用されます。JDBC接続プールの容量を増やすには、次の手順を実行します。
WebSphere管理コンソールにログインします。
「Resources」→「JDBC」→「Data Sources」→「Non XA DataSource」を順に選択します。「Additional」プロパティ下の「Connection pool」プロパティを選択します。次の値を入力します。
最小接続数 = 10
最大接続数 = 50
「OK」、「Save」を順にクリックします。
「Resources」→「JDBC」→「Data Sources」→「XA DataSource」を順に選択します。「Additional」プロパティ下の「Connection pool」プロパティを選択します。次の値を入力します。
最小接続数 = 30
最大接続数 = 50
「OK」、「Save」を順にクリックします。
Oracle Identity Managerでは、MDBを使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトのMDBの数は、重い負荷に対して十分ではありません。
注意: インストールで使用されているJMSに応じ、適切な手順を選択してください。 |
デフォルトのJMSメッセージに対するMDBの数を増やすには、次の手順を実行します。
「Resources」→「Resource Adapters」→「J2C activation specifications」を順にクリックします。
各キュー仕様に対して、次のようにします。
「Additional Properties」で「J2C activation specification custom properties」をクリックします。
1ページ目で、「maxConcurrency」リンクを選択して「Value」を20
に設定します。
「OK」、「Save」を順にクリックします。
矢印をクリックして、2ページ目に進みます。
2ページ目で、「maxConcurrency」リンクを選択して「Value」を20
に設定します。
「OK」、「Save」を順にクリックします。
注意: MDBの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。 |
デフォルトではないJMSメッセージに対するMDBの数を増やすには、対応するリスナー・ポートに対する「Maximum Sessions」の値を大きくします。たとえば、リコンシリエーションに対してMDBを使用する場合、リコンシリエーションで使用するリスナー・ポートを選択して「Maximum Sessions」の値を大きくします。
サーバー・スレッド・プールを増やすには、次の手順を実行します。
WebSphere管理コンソールにログインします。
「Application Server」、Oracle Identity Managerがデプロイされているサーバー、「Thread Pools」を順にクリックします。
「Default」をクリックして、「Minimum Size」および「Maximum Size」の値を設定します。たとえば、「Minimum Size」に20
を入力し、「Maximum Size」に75
を入力します。
「Save」をクリックします。
注意: クラスタ環境の場合、前述した手順をクラスタ内の各サーバー上で実行し、設定を変更する必要があります。また、スレッドの増加がCPU容量でサポートされていることを確認してください。 |
JBoss Application Serverバージョン4.0.3 SP1にデプロイされたOracle Identity Managerに対する固有の推奨は、次のとおりです。
注意: いずれかの設定を変更した場合、サーバーを再起動する必要があります。 |
使用する環境のオペレーティング・システムに応じて、次の手順を実行します。
Microsoft Windowsの場合:
JBOSS_HOME\bin\run.batファイルをテキスト・エディタで開きます。
次の行を検索します。
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
メモリー設定を、次の推奨される値に変更します。
set JAVA_OPTS=%JAVA_OPTS% -Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
run.batファイルを保存して閉じます。
UNIXの場合:
JBOSS_HOME/bin/run.confファイルをテキスト・エディタで開きます。
次の行を検索します。
JAVA_OPTS="-server -Xms128m -Xmx128m"
メモリー設定を、次の推奨される値に変更します。
JAVA_OPTS="-server -Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m"
run.confファイルを保存して閉じます。
注意: クラスタ環境の場合、クラスタの各ノードで手順を繰り返します。 |
JDBC接続プールを変更するには、JBOSS_HOME/server/default/deploy/xell-ds.xmlファイルを開き、次のようにします。
注意: JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、xell-ds.xmlファイルはJBOSS_HOME/server/all/farmにあります。 |
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>
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
スレッドの数を増やすには、次の手順を実行します。
JBOSS_HOME/server/default/conf/jboss-service.xmlを開きます。
注意: JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、jboss-service.xmlファイルはJBOSS_HOME/server/all/confにあります。 |
次のように最大プール・サイズを設定して、ファイルを保存します。
<mbean code="org.jboss.util.threadpool.BasicThreadPool" name="jboss.system:service=ThreadPool"> ... <attribute name="MaximumPoolSize">50</attribute> ... </mbean>
注意: スレッドの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。また、スレッドの増加がCPU容量でサポートされていることを確認してください。 |
JMSプール・サイズを大きくするには、次の手順を実行します。
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ファイルをテキスト・エディタで開きます。 |
次のように最大プール・サイズを設定して、ファイルを保存します。
<tx-connection-factory>...<max-pool-size>20</max-pool-size>...</tx-connection-factory>
注意: JMSプール・サイズの増加に応じて、JDBC接続プールの増加が必要な場合があります。 |
MDBのサイズを大きくするには、次の手順を実行します。
JBOSS_HOME/server/default/conf/standardjboss.xmlファイルをテキスト・エディタで開きます。
注意: JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、JBOSS_HOME/server/all/conf/standardjboss.xmlファイルをテキスト・エディタで開きます。 |
次のxmlフラグメントを検索します。
<invoker-proxy-binding> <name> message-driven-bean<name> ... <MinimumSize>4</MinimumSize> <MaximumSize>20</MaximumSize> ...
このフラグメントに、次のように追加します。
<DLQConfig> ... <MaxTimesRedelivered>5</MaxTimesRedelivered> ... </invoker-proxy-binding>
前述した属性を追加すると、障害が発生した場合、JMSメッセージはこの属性で定義される回数再配信されます。
注意: これらの変更に応じて、JDBC接続プールの増加が必要な場合があります。 |
デプロイ・スキャンを無効にするには、次の手順を実行します。
JBOSS_HOME/server/default/conf/jboss-service.xmlファイルをテキスト・エディタで開きます。
注意: JBoss Application Server上のOracle Identity Managerのクラスタ・インストールでは、JBOSS_HOME/server/all/conf/jboss-service.xmlファイルをテキスト・エディタで開きます。 |
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>
Oracle Application Server10.1.3.xにデプロイされたOracle Identity Managerに対する固有の推奨は、次のとおりです。
注意: いずれかの設定を変更した場合、サーバーを再起動する必要があります。Oracle Application ServerをアップグレードしてOracle Application Serverにパッチを適用する方法は、MetaLink Note 553266.1を参照してください。 |
Oracle Application Serverヒープ・サイズを大きくするには、次の手順を実行します。
ORACLE_HOME/opmn/conf/opmn.xmlファイルをテキスト・エディタで開きます。
次のメモリー設定を検索します。
-XX:MaxPermSize=128M -ms512M -mx1024M
メモリー設定を次のように変更します。
-ms1280m -mx1280m -XX:PermSize=128m -XX:MaxPermSize=256m
ORACLE_HOME/opmn/conf/opmn.xmlファイルを保存して閉じます。
注意: クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。 |
Oracle Application Serverコントロールを使用して接続プールのパラメータを変更しないでください。これは、ユーザーがデータベース側でロックされる原因になります。接続プールの変更は、次のようにして構成ファイル内で実行することをお薦めします。
Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスを停止します。
ORACLE_HOME/j2ee/INSTANCE_NAME/config/data-sources.xmlファイルをテキスト・エディタで開きます。
xlConnectionPoolの場合、最小および最大接続プールの値を次のように設定します。
min-connections="10"
max-connections="50"
xlXAConnectionPoolの場合、最小および最大接続プールの値を次のように設定します。
min-connections="30"
max-connections="100"
注意: クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。 |
Oracle Identity Managerでは、MDBを使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトのMDBの数は、重い負荷に対して十分ではありません。MDBの数を増やすには、次の手順を実行します。
次のようにMDBの数を変更します。
ファイルベースのJMS永続性(デフォルトのOIMインストール)の場合:
OIM_HOME/DDTemplates/BO/orion-ejb-jar.xmlを開きます。
すべてのMDBのlistener-threads値を、20に変更します。これは、各キューに対するMDBの数を意味します。
データベース/AQベースのJMS永続性の場合:
OIM_HOME/DDTemplates/BO/orion-ejb-jar.xmlを開きます。
すべてのMDBのReceiver-Threads値を、20に変更します。これは、各キューに対するMDBの数を意味します。
値の変更後、ディレクトリをOIM_HOME/setupに変更し、次のスクリプトを実行します。
Microsoft Windowsの場合:
patch_oc4j.cmd oc4j_admin_password oim_schema_password
UNIXの場合:
patch_oc4j.sh oc4j_admin_password oim_schema_password
パッチの終了後、アプリケーション・サーバーを再起動します。これにより、変更された最新のMDBの値でアプリケーションが再ビルドされます。
注意: クラスタ・インストールの場合、Oracle Identity ManagerがデプロイされているすべてのOracle Application Serverインスタンスで手順を繰り返します。MDBの数の増加に応じて、JDBC接続プールの増加が必要な場合があります。 |