搜索

6.5. 设置数据库缓存大小

download PDF
数据库缓存包含数据库的 Berkeley 数据库索引文件,这意味着所有用于数据库属性索引的 192.168.1.0/24 db 和其他文件。这个值被传递给 Berkeley DB API 功能 set_cachesize ()
这个缓存大小对 Directory 服务器性能的影响低于条目缓存大小,但如果设定了条目缓存大小后有可用的 RAM,增加分配给数据库缓存的内存量。
操作系统还具有文件系统缓存,与 RAM 使用量的数据库缓存竞争。请参阅操作系统文档,以查找有关文件系统缓存设置和监控文件系统缓存的信息。
注意
红帽建议自动根据硬件资源优化设置,而不是手动设置条目缓存大小。详情请查看 第 6.1.1 节 “手动重新启用数据库和条目缓存自动大小”

6.5.1. 使用命令行手动设置数据库缓存大小

使用命令行手动设置数据库缓存大小:
  1. 禁用自动缓存调整,并设置数据库缓存大小:
    # dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --cache-autosize=0 --dbcachesize=268435456
    此命令将数据库缓存设置为 256MB。
  2. 重启 Directory Service 实例:
    # dsctl instance_name restart

6.5.2. 使用 Web 控制台手动设置数据库缓存大小

使用 Web 控制台手动设置数据库缓存大小:
  1. 在 web 控制台中打开 Directory Server 用户界面。详情请参阅 Red Hat Directory Server Administration Guide 中的使用 Web 控制台登录到 目录服务器一节。
  2. 选择 实例。
  3. Database 选项卡上,选择 Global Database Configuration
  4. 禁用自动 缓存调优
  5. 单击 Save Configuration
  6. Database Cache Size (bytes) 字段设置为数据库缓存大小。
  7. 单击 Save Configuration
  8. 单击 Actions 按钮,然后选择 Restart Instance

6.5.3. 将数据库缓存存储在 RAM 磁盘上

如果运行 Directory 服务器实例的系统有足够的可用 RAM,则可选择性地将数据库缓存存储在 RAM 磁盘上,以进一步提高性能:
  1. 在 RAM 磁盘上为数据库缓存和元数据创建一个目录:
    # mkdir -p /dev/shm/slapd-instance_name/
  2. 在目录中设置以下权限:
    # chown dirsrv:dirsrv /dev/shm/slapd-instance_name/
    # chmod 770 /dev/shm/slapd-instance_name/
  3. 停止 Directory 服务器实例:
    # systemctl stop dirsrv@instance_name
  4. 编辑 /etc/dirsrv/slapd-instance_name/dse.ldif 文件,并在 cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config 条目中设置 nsslapd-db-home-directory 属性中的新路径:
    dn: cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config
    ...
    nsslapd-db-home-directory: /dev/shm/slapd-instance_name/
    如果 nsslapd-db-home-directory 属性不存在,则使用新值将其添加到 cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config 条目。
  5. 启动 Directory 服务器实例:
    # systemctl start dirsrv@instance_name
注意
当数据库缓存存储在 RAM 磁盘上时,Directory 服务器需要在每次重启后重新创建它。因此,在重新创建缓存前,服务启动和初始操作会较慢。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.