第 7 章 调整 IdM 目录服务器性能
您可以通过调整 LDAP 属性来控制目录服务器的资源和行为来调整身份管理数据库的性能。
您可以微调以下内容:
- 调整目录服务器 缓存数据 的方式。
- 调整目录服务器 的资源限值。
- 调整对性能有最大影响的 超时。
- 使用 LDIF 文件中的自定义目录服务器设置安装 IdM 服务器或副本。
7.1. 调整 IdM 目录服务器中的条目缓存大小 复制链接链接已复制到粘贴板!
不要更改此设置,除非您有强烈需要应用自定义值。IdM 目录服务器使用内置缓存自动大小功能来优化性能。
nsslapd-cachememsize
属性指定条目缓存的可用内存空间大小(以字节为单位)。此属性是控制目录服务器使用的物理 RAM 最重要的值之一。
如果条目缓存大小太小,您可能在 Directory Server 错误日志中看到以下错误: /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=0
Copy 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 userroot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Directory 服务器。
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.target
Copy 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: 2147483648
Copy to Clipboard Copied! Toggle word wrap Toggle overflow