この章では、Oracle Identity Manager用のアプリケーション・サーバーをアップグレードしパフォーマンスを向上させる方法を説明します。この章では、次の項目について説明します。
注意: この項では、すべてのチューニング・パラメータの推奨事項および値を参考のみの目的で示しています。必要性、アプリケーション使用方法のパターン、負荷およびハードウェア仕様に基づいて、値を変更してください。 |
Oracle WebLogic Serverバージョン10.xにデプロイされたOracle Identity Managerに固有の推奨事項は、次のとおりです。
注意: いずれかの設定を変更した場合、サーバーを再起動する必要があります。 |
関連項目: Oracle Application Serverのチューニングの詳細は、『Oracle WebLogic Server Performance and Tuning』ドキュメントを参照してください。 |
この項では、次に示すOracle Identity Managerのデプロイ先に応じた、JVMメモリー設定の増加方法を示します。
WebLogic管理サーバーへのOracle Identity Managerのデプロイの場合、JVMメモリー設定を増加する手順は次のとおりです。
WebLogic Server管理コンソールを使用して、アプリケーション・サーバーを正常に停止します。
Weblogic DOMAIN_HOME
/bin
にナビゲートします。例: C:\bea103\user_projects\domains\base_domain\bin
または/opt/bea103/user_projects/domains/base_domain/bin
。
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の場合:
"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
を追加します。
次の行を追加します。
export USER_MEM_ARGS
Oracle Identity ManagerをWebLogic管理対象サーバーにデプロイできます。クラスタ・インストールでは、このオプションのみとなります。管理対象サーバーの起動方法に応じて(WebLogic管理コンソールの使用、ノード・マネージャの使用、スクリプトの実行など)、異なる場所を変更する必要があります。
xlStartManagedServerスクリプトを実行して管理対象サーバーを起動する場合は、DOMAIN_HOME
/bin/xlStartManagedServer.sh
スクリプトまたはDOMAIN_HOME
/bin/xlStartManagedServer.cmd
スクリプトに対して、Weblogic管理サーバーへのOracle Identity ManagerのデプロイでJVMメモリー設定を増加する場合の手順を繰り返します。詳細は、「WebLogic管理サーバーへのデプロイ」を参照してください。
JDBCデータソースxlDSは、JMS操作のためにWebLogic JMSによって使用されます。JDBCデータソースXlXADSは、他のすべての目的でOracle Identity Managerによって使用されます。JDBC接続プールの容量を増やすには、次の手順を実行します。
WebLogic Server管理コンソールを開きます。
JDBCデータソースxlXADSの場合:
「サービス」→「JDBC」→「データ・ソース」→「xlXADS」→「接続プール」タブをクリックします。
「初期容量」と「最大容量」に、同じ値を設定します。たとえば、「初期容量」および「最大容量」を50に設定できます。
JDBCデータソースxlDSの場合:
「サービス」→「JDBC」→「データ・ソース」→「xlDS」→「接続プール」タブをクリックします。
「初期容量」と「最大容量」に、同じ値を設定します。たとえば、「初期容量」および「最大容量」を50に設定できます。
変更を保存し、有効にします。
注意: アプリケーション・サーバーの接続プールでの接続数の増加は、データベース構成の変更による補正が必要です。 |
Oracle Identity Managerでは、メッセージドリブンBean(MDB)を使用して、リコンシリエーション、監査、リクエストおよびアテステーションなどのすべてのオフライン・アクティビティを処理します。デフォルトでは、各モジュールで、16 MDBインスタンスがリクエストを同時に処理します。ただし、これは、要件に基づいて、Weblogic作業マネージャ構成を変更することで増加できます。詳細は、Weblogicのドキュメントを参照してください。
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.2.3への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="-Xms128m -Xmx512m"
メモリー設定を、次の推奨値に変更します。
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接続プールの増加が必要な場合があります。 |