第 5 章 设置目录服务器线程数量

用于处理同时连接的线程目录服务器数量会影响服务器的性能。例如,如果所有线程都忙于处理耗时的任务,如 添加操作,则会排队新的传入连接,直到空闲线程可以处理请求。

如果服务器提供少量的 CPU 线程,配置更多线程可以提高性能。但是,在具有大量 CPU 线程的服务器上,设置太高的值不会进一步提高性能。

默认情况下,目录服务器使用自动调整设置来计算线程数量。这个数字基于实例启动时服务器的硬件资源。

警告

避免手动设置线程数量。改为使用 auto-tuning 设置。

启用自动线程调整后,Directory 服务器使用以下优化的线程数量:

CPU 线程号目录服务器线程号

1-16

16

17-512

目录服务器线程号与系统中的 CPU 线程号匹配。例如,如果您的系统有 24 个 CPU 线程,则目录服务器使用 24 个线程。目录服务器线程的最大数量为 512。

512 及更多

512.目录服务器应用推荐的线程数。

5.1. 使用命令行启用自动线程调整

默认情况下,目录服务器根据可用硬件自动设置线程数量。然而,在某些情况下,您可以使用命令行手动启用此自动调整功能。

流程

  • 要启用自动调整功能,请使用以下命令将 nsslapd-threadnumber 属性值设为 -1

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-threadnumber="-1"
    
    Successfully replaced "nsslapd-threadnumber"

验证

  • 使用以下命令验证 Directory 服务器现在使用的 tread 数量:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config get nsslapd-threadnumber
    
    nsslapd-threadnumber: 16
    注意

    命令检索目录服务器根据正确的硬件资源计算的线程数量。