LDAP サーバーへの並行アクセスのパフォーマンスを改善するには、プール・パラメーターを構成します。
Virtual member manager は、LDAP リポジトリーの 2 通りのプール・メカニズムをサポートしています。
接続プール・メカニズムは、Java ランタイム環境 (JRE) により Java Naming and Directory Interface (JNDI) 層で提供されます。
このページを表示する方法ついては、WebSphere Application Server インフォメーション・センターの「統合リポジトリー構成のパフォーマンスの改善 を参照してください。
接続プールを使用可能にしたら、接続プール設定を使用して、JNDI 層によるプールの処理方法を指定します。管理コンソールで、「アプリケーション・サーバー」>「server_name」>「プロセス定義」>「Java 仮想マシン」ページを使用して Java 仮想マシン (JVM) 設定を構成し、汎用 JVM 引数を指定します。 このページへのアクセス方法については、WebSphere Application Server インフォメーション・センターの「 JVM の構成」を参照してください。
これらの設定は、Virtual member manager の他にも、サーバーで稼働するすべてのアプリケーションに影響します。プール設定を構成するために JNDI 層により使用されるプロパティーについて詳しくは、Sun Web サイトの「Connect Pooling Configuration」(http://java.sun.com/products/jndi/tutorial/ldap/connect/config.html) を参照してください。
Virtual member manager は、LDAP サーバーへの並列アクセスのパフォーマンスを改善するために、コンテキスト・プール・メカニズムを使用します。
コンテキスト・プールは、接続プールよりも上位レベルで機能します。コンテキスト・プール内の各コンテキスト・エントリーは、LDAP サーバーへのソケット接続に対応しています。このプールにより使用されるバインド・クレデンシャルは、LDAP リポジトリーの構成時に指定されます。
管理コンソールを使用したコンテキスト・プールの構成について詳しくは、WebSphere Application Server インフォメーション・センターの「Lightweight Directory Access Protocol のパフォーマンス設定」を参照してください。
また、setIdMgrLDAPContextPool コマンドを使用してコンテキスト・プール・パラメーターの値を設定することもできます。コンテキスト・プール・パラメーターを設定する方法について詳しくは、WebSphere Application Server インフォメーション・センターの「AdminTask オブジェクトの IdMgrRepositoryConfig コマンド・グループ」で、setIdMgrLDAPContextPool コマンドについて参照してください。
コンテキスト・プールには接続プールと同じメリットがあるため、接続プールを使用可能にする必要はありません。Virtual member manager では、デフォルトで接続プールが使用不可に設定されています。
コンテキスト・プールと接続プールの両方を使用可能にしても、パフォーマンスがさらに強化されることはなく、同時認証を実行する際に悪影響が生じる可能性があります。
ほとんどの操作 (作成、検索、更新、削除など) は、コンテキスト・プールの使用可能なコンテキスト (DirContext) を使用して実行されます。各コンテキストは 1 つのソケット接続に関連付けられています (接続プールが使用不可の場合)。これらの操作では、Virtual member manager が LDAP サーバーに対して開くソケットの最大数が、最大プール・サイズ・パラメーターに指定されている値を超えることはありません。
Virtual member manager は、ユーザーを認証するときにコンテキスト・プールを使用しません。代わりに、認証ユーザーの識別名とパスワードにバインドします。このため、異なるユーザーを認証する場合は、JNDI 層が認証ごとに新規ソケット接続を作成する必要があります。接続プールが使用不可の場合、認証の完了後ただちにソケットが閉じます。ただし、接続プールが使用可能な場合は、ソケットはタイムアウトになるまで開いたままの状態になります。したがって、アプリケーションで同時認証が実行される場合、Virtual member manager が LDAP サーバーに対して開くソケットの数が、サーバーの能力を超えることがないようにするため、接続プールを使用不可にする必要があります。
Virtual member manager がすべての操作 (認証を含む) に対して開くソケット接続の最大数は、最大プール・サイズに指定されている値に同時認証の数を加算したものです。 例えば、250 クライアントがログインして検索を同時に実行すると、検索を実行するためにコンテキスト・プールから取得される 250 個のソケットに加えて、認証を実行するために 250 個の新規ソケットが開かれます。 この時点でのソケットの合計数は 500 に達しますが、接続プールが使用不可に設定されている場合、認証完了後には、認証のために開いていた 250 個の新規ソケットが閉じます。 接続プールが使用可能な場合、250 個の新規ソケットは、タイムアウトになるまで開いたままの状態になります。
コンテキスト・プールのデフォルト値は、ほとんどの環境に適しています。パフォーマンスのチューニングには、以下のコンテキスト・プール設定を使用してください。ただしこれは、接続プールが使用不可であることを前提としています。