第7章 Adjusting IdM Directory Server performance

Directory Server のリソースと動作を制御する LDAP 属性を調整して、Identity Management のデータベースのパフォーマンスをチューニングできます。

Directory Server による データのキャッシュ 方法を調整するには、以下の手順を参照してください。

Directory Server の リソース制限 を調整するには、以下の手順を参照してください。

パフォーマンスに最も影響を与える タイムアウト を調整するには、以下の手順を参照してください。

LDIF ファイルからカスタム Directory Server 設定を使用して IdM サーバーまたはレプリカをインストールするには、次の手順を参照してください。

7.1. エントリーキャッシュサイズの調整

重要

Red Hat は、パフォーマンスの最適化にビルドインのキャッシュサイズの自動調整機能を使用することを推奨します。auto-tuned の値を意図的に変更する必要がある場合を除き、この値は変更しないでください。

nsslapd-cachememsize 属性は、エントリーキャッシュで利用可能なメモリー領域のサイズ (バイト単位) を指定します。この属性は、ディレクトリーサーバーが使用する物理メモリーのサイズ制御で最も重要な値です。

エントリーキャッシュサイズが小さすぎると、/var/log/dirsrv/slapd-INSTANCE-NAME/errors ログファイルの Directory Server エラーログに以下のエラーが表示される場合があります。

REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes).  Try increasing nsslapd-cachememsize.

Red Hat は、メモリー内でエントリーキャッシュとデータベースインデックスエントリーキャッシュを適合させることを推奨します。

デフォルト値

209715200 (200 MiB)

有効な範囲

500000 - 18446744073709551615 (500 kB - (264-1))

エントリー DN の場所

cn=database-name,cn=ldbm database,cn=plugins,cn=config

前提条件

  • LDAP Directory Manager のパスワード

手順

  1. 自動キャッシュチューニングを無効にします。

    [root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --cache-autosize=0
  2. データベースの接尾辞と、対応するバックエンドを表示します。

    [root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list
    cn=changelog (changelog)
    dc=example,dc=com (userroot)
    o=ipaca (ipaca)

    このコマンドにより、各接尾辞の横にバックエンドデータベースが表示されます。次の手順では、接尾辞のデータベース名を使用します。

  3. データベースのエントリーキャッシュサイズを設定します。この例では、userroot データベースのエントリーキャッシュを 2 ギガバイトに設定します。

    [root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix set --cache-memsize=2147483648 userroot
  4. Directory Server を再起動します。

    [root@server ~]# systemctl restart dirsrv.target
  5. IdM ディレクトリーサーバーのパフォーマンスを監視します。希望どおりに変更されなかった場合にはこの手順を繰り返して cache-memsize を別の値に調整するか、キャッシュサイズの自動調整をもう一度有効化します。

検証手順

  • nsslapd-cachememsize 属性の値を表示し、希望の値に設定されていることを確認します。

    [root@server ~]# ldapsearch -D "cn=directory manager" -w DirectoryManagerPassword -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize
    nsslapd-cachememsize: 2147483648