第 7 章 调整 IdM 目录服务器性能
您可以通过调整 LDAP 属性来控制目录服务器的资源和行为来调整身份管理数据库的性能。
您可以微调以下内容:
- 调整目录服务器如何 缓存数据 。
- 调整目录服务器的 资源限制。
- 调整对性能有最大影响的 超时。
- 使用 LDIF 文件中的自定义目录服务器设置安装 IdM 服务器或副本。
7.1. 调整 IdM 目录服务器中的条目缓存大小 复制链接链接已复制到粘贴板!
不要更改此设置,除非您强烈需要应用自定义值。IdM 目录服务器使用内置的缓存自动调整大小功能来优化性能。
nsslapd-cachememsize 属性指定条目缓存的可用内存空间大小(以字节为单位)。此属性是控制目录服务器使用多少物理 RAM 的最重要的值之一。
如果条目缓存大小太小,您可能在目录服务器错误日志 /var/log/dirsrv/slapd-<instance_name>/errors 日志文件中看到以下错误:
REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes). Try increasing nsslapd-cachememsize.
REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes). Try increasing nsslapd-cachememsize.
红帽建议将条目缓存和数据库索引条目缓存放入内存中。
| 默认值 |
|
| 有效范围 |
|
| 条目 DN 位置 |
|
先决条件
- LDAP Directory Manager 密码
流程
禁用自动缓存调整。
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示数据库后缀及其对应的后端。
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令显示每个后缀旁的后端数据库名称。在下一步中使用后缀的数据库名称。
为数据库设置条目缓存大小。这个示例将 userroot 数据库的条目缓存设置为 2GB。
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --cache-memsize=2147483648 userroot
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --cache-memsize=2147483648 userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Directory 服务器。
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
监控 IdM 目录服务器的性能。如果没有改进,请重复此流程,并将
cache-memsize调整为不同的值,或者重新启用缓存自动调整大小。
验证
显示
nsslapd-cachememsize属性的值,并将其设置为您所需的值。ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize nsslapd-cachememsize: 2147483648Copy to Clipboard Copied! Toggle word wrap Toggle overflow