LDAP サーバーへのアクセスのチューニング

LDAP サーバーへの並行アクセスのパフォーマンスを改善するには、プール・パラメーターを構成します。

Virtual member manager は、LDAP リポジトリーの 2 通りのプール・メカニズムをサポートしています。

接続プール

接続プール・メカニズムは、Java ランタイム環境 (JRE) により Java Naming and Directory Interface (JNDI) 層で提供されます。

以下の手順に従って、Virtual member manager で構成されている LDAP リポジトリーごとに、接続プールを使用可能または使用不可にします。
  1. WebSphere Application Server 管理コンソールで「セキュリティー」>「グローバル・セキュリティー」をクリックします。
  2. ユーザー・アカウント・リポジトリーの使用可能なレルム定義フィールドから「統合リポジトリー」を選択し、「構成」をクリックします。
    注: 複数のセキュリティー・ドメイン環境内の特定のドメインを構成するには、「セキュリティー・ドメイン」>「domain_name」をクリックします。 「セキュリティー属性」の下で「ユーザー・レルム」を展開し、「このドメイン用にカスタマイズする」をクリックします。 「レルム・タイプ」に「統合リポジトリー」を選択し、「構成」をクリックします。
  3. 「関連項目」の下で「リポジトリーの管理」>「repository_name」とクリックします。
  4. 表示されたパネルの「追加のプロパティー」で、「パフォーマンス」をクリックします。
  5. 「接続プールの使用」オプションを選択またはクリアします。

このページを表示する方法ついては、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 リポジトリーの構成時に指定されます。

以下の手順に従って、Virtual member manager で構成されている LDAP リポジトリーごとに、接続プールを使用可能または使用不可にします。
  1. WebSphere Application Server 管理コンソールで「セキュリティー」>「グローバル・セキュリティー」をクリックします。
  2. ユーザー・アカウント・リポジトリーの使用可能なレルム定義フィールドから「統合リポジトリー」を選択し、「構成」をクリックします。
    注: 複数のセキュリティー・ドメイン環境内の特定のドメインを構成するには、「セキュリティー・ドメイン」>「domain_name」をクリックします。 「セキュリティー属性」の下で「ユーザー・レルム」を展開し、「このドメイン用にカスタマイズする」をクリックします。 「レルム・タイプ」に「統合リポジトリー」を選択し、「構成」をクリックします。
  3. 「関連項目」の下で「リポジトリーの管理」>「repository_name」とクリックします。
  4. 表示されたパネルの「追加のプロパティー」で、「パフォーマンス」をクリックします。
  5. 「コンテキスト・プールを使用可能にする」オプションを選択またはクリアし、 コンテキスト・プールのパラメーターの値を指定します。

管理コンソールを使用したコンテキスト・プールの構成について詳しくは、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 個の新規ソケットは、タイムアウトになるまで開いたままの状態になります。

コンテキスト・プールのデフォルト値は、ほとんどの環境に適しています。パフォーマンスのチューニングには、以下のコンテキスト・プール設定を使用してください。ただしこれは、接続プールが使用不可であることを前提としています。



利用条件 | フィードバック