上一页      目录     索引      文档主页      下一页     
iPlanet Directory Server 5.1 管理员指南



第 14 章   调整 Directory Server 的性能


本章介绍 iPlanet Directory Server 随带的、用于优化性能的工具。同时,文中还提供若干用于改进目录性能的技巧。

本章包含以下几部分:



调整服务器性能

通过限制服务器用于处理客户机搜索请求所需的资源量,可以对服务器的性能加以管理。您可以定义:

  • 在响应搜索操作时,服务器返回给客户机的最大条目数(大小限制属性)

  • 执行搜索请求时,希望服务器所用的最大实时时间(时间限制属性,以秒计)

  • 服务器保持空闲连接的时长(空闲超时属性,以秒计)

  • 目录服务器可用的最大文件描述符数(文件描述符的最大数属性)

要对 iPlanet Directory Server 进行配置以优化性能:

  1. 在 iPlanet Directory Server Console 上,选择“配置”选项卡,然后选择左侧窗口导航树最上端的条目。

    右侧窗口中所显示的选项卡控制面向整个服务器的配置属性。

  2. 选择右侧窗口中的“性能”选项卡。

    此时显示当前服务器的性能设置。

  3. 在“大小限制”文本框中输入新的值,从而设置在响应搜索操作时,服务器返回给客户机的最大条目数。

    如果不想设置限定值,请在该文本框中键入 -1

  4. 在“时间限制”文本框中输入执行搜索请求时,希望服务器所用的实时时间。

    如果不想设置限定值,请在该文本框中键入 -1

  5. 在“空闲超时”文本框中,输入您希望服务器保持空闲连接的时长。

    如果不想设置限定值,请在该文本框中键入零 (0)。

  6. 在“文件描述符的最大数”文本框中,设置目录服务器可用的最大文件描述符数。

要想更好地理解这些参数对服务器搜索性能所带来的影响,请参阅“关于索引”



调整数据库性能



本节分以下几个部分说明调整数据库性能的方法:


优化搜索性能

通过调整数据库的设置,可以改进服务器的搜索性能。影响性能的数据库属性主要限定了服务器的可用内存量。

为提高搜索操作的缓存命中率,可以增加目录服务器在数据库缓存中保留的数据量。为此,可以增加缓存中所存储的条目数,或者增加缓存的大小。为这些属性所能设置的最大值与计算机中实际的内存量有关。大致而言,计算机上的可用内存量应始终大于:

(缓存中的最大条目数 + 最大缓存大小) x 平均条目大小

更改这两个属性时,请务必小心。能否用这些属性改进服务器的性能与数据库大小、计算机上实际可用内存量及是否进行随机搜索(即目录客户机是否搜索随机且广泛分布的目录数据)有关。

如果数据库无法适应内存且搜索过程为随机搜索,即使试图增大这些属性的设置值,也不会改进目录的性能。实际上,更改这些属性可能会有损于整体性能。

您可以调整下列属性:

  • 用于管理其它所有数据库实例的数据库属性。在 iPlanet Directory Server Console 中只能查看包含目录数据的数据库及 NetscapeRoot 数据库。但服务器使用另一个数据库进行管理。在该数据库上,可以更改下列属性以改进性能:

    • 可用于所有数据库的内存量(最大缓存大小属性)

    • 响应搜索请求时希望服务器核查的最大条目数(审核限制属性)

  • 用于存储目录数据(包括 NetscapeRoot 数据库中的服务器配置数据)的各个数据库的属性。在这些数据库上,可以更改下列属性以改进性能:

    • 希望服务器在内存中保留的最大条目数(缓存中的最大条目数属性)

    • 可用于缓存条目的内存量(缓存的可用内存属性)

要配置应用于其它所有数据库实例的默认数据库属性:

  1. 在 iPlanet Directory Server Console 上,选择“配置”选项卡,然后展开导航树中的“数据图标”,同时突出显示“数据库设置”节点。

    此时将在右侧窗口中显示“数据库”选项卡。

  2. 选择右侧窗口中的“LDBM 插件设置”选项卡。

    该选项卡中包含用于该服务器上所存所有数据库的属性。

  3. 在“高速缓存最大空间”字段中,输入对应于所有数据库可用内存量的值。

  4. 在“审核限制”字段中,输入希望服务器在响应搜索请求时所检查的最大条目数。

    如果不想设置限定值,请在该文本框中键入 -1。如果是作为目录管理器绑定到目录上,则默认情况下将不对审核限制予以约束,并将忽略此处指定的任何设置。

要配置存储目录数据的各个数据库的属性:

  1. 在 iPlanet Directory Server Console 上,选择“配置”选项卡,然后展开导航树中的“数据图标”。展开要调整的数据库后缀并突出显示该数据库。

    右侧窗口中所显示的选项卡控制该数据库的参数设置。

  2. 选择右侧窗口中的“数据库设置”选项卡。

  3. 在“高速缓存中的最大项目数”字段中,输入希望服务器在内存中保留的条目数。

  4. 在“缓存的可用内存”字段中,输入可用于缓存条目的内存量。

    如果是利用 LDIF 创建非常大的数据库,请将该属性设置得尽可能大,而这将由计算机上的可用内存决定。该参数值越大,创建数据库的速度也就越快。

    创建完数据库后,在某个产品环境中运行服务器前,请务必将该参数重新设置为较小的值。


调整事务记录

每个 iPlanet Directory Server 中均包含事务日志,用于记录它所管理的所有数据库的操作。执行目录数据库操作(例如写入)时,服务器就会将该操作记录到事务日志中。为确保最佳性能,目录不会立即执行操作。相反,操作将被存储到目录服务器的临时内存缓存中,直到完成该操作。

如果服务器出现故障(例如电能耗尽及异常关闭),则缓存中存储的有关近期目录更改的信息将会丢失。但重新启动服务器时,目录将自动检测错误条件,然后利用数据库事务日志来恢复数据库。

尽管数据库事务日志和数据库恢复均为自动执行的过程,不需要任何干预,但用户可以调整数据库事务日志的某些属性,从而优化其性能。



警告

事务日志属性仅用于系统修改和诊断。这些设置应在 iPlanet 专业服务或 iPlanet 技术支持的指导下进行更改。

如果这些属性及其它配置属性的设置不一致,就可能导致目录不稳定。




更改数据库事务日志的位置

默认情况下,数据库事务日志文件及数据库文件自身都存储在以下目录中:

/var/ds5/slapd-serverID/db

由于事务日志的用途在于协助恢复被异常关闭的目录数据库,因此建议将数据库事务日志存储到不同于包含目录数据库的磁盘上。在独立的物理磁盘上存储数据库事务日志还可能会改进目录的性能。

要更改数据库事务日志文件的位置,请执行以下过程:

  1. 停止 iPlanet Directory Server。

    有关说明,请参阅“从控制台启动/停止服务器”

  2. 使用 ldapmodify 命令行实用程序,将 nsslapd-db-logdirectory 属性添加到 cn=config,cn=ldbm database,cn=plugins,cn=config 条目中。在该属性中提供到日志目录的完整路径。

    有关 nsslapd-db-logdirectory 属性语法的信息,请参阅 iPlanet Directory Server 配置、命令和文件参考指南。有关 ldapmodify 的说明,请参阅“使用 ldapmodify 添加和修改条目”

  3. 重新启动 iPlanet Directory Server。


更改数据库检查点间隔

目录服务器会定期将事务日志中所记录的操作写入磁盘中,并在数据库事务日志中记录检查点条目。通过指示写入目录的更改内容,检查点条目可以在事务日志中指示开始恢复的位置,从而加速恢复过程。

默认情况下,目录服务器被设置为每 60 秒发送检查点条目给数据库事务日志。增加检查点间隔可能会提高目录写入操作的性能。但增加检查点间隔也同时可能会增加在异常关闭的情况下进行目录数据库恢复所需的时间。同时,由于数据库事务日志文件过大,还会需要更多的磁盘空间。因此,只有在熟悉数据库的优化性并可充分评估更改效果的情况下,才应修改该属性。

要在服务器运行时修改检查点间隔,请执行以下过程:

  1. 使用 ldapmodify 命令行实用程序将 nsslapd-db-checkpoint-interval 属性添加到 cn=config,cn=ldbm database,cn=plugins,cn=config 条目中。

    有关 nsslapd-db-checkpoint-interval 属性语法的详细信息,请参阅 iPlanet Directory Server 配置、命令和文件参考指南。有关 ldapmodify 的说明,请参阅“使用 ldapmodify 添加和修改条目”


禁用持久性事务

持久性事务记录的含义是:临时数据库事务日志实际上将被真实地写入磁盘中。

禁用持久性事务记录后,每个目录数据库操作都将写入数据库事务日志文件中,但可能不会立即写入磁盘中。如果目录更改已写入逻辑数据库事务日志文件中,但在系统崩溃时并未真正写入磁盘中,就将无法恢复所做的更改。禁用持久性事务记录后,恢复的数据库将保持一致,但无法反映系统崩溃前刚刚完成的任何 LDAP 写入操作的结果。

默认情况下将启用持久性数据库事务记录功能。要禁用持久性事务记录功能,请执行以下操作过程:

  1. 停止 iPlanet Directory Server。

    有关说明,请参阅“从命令行启动/停止服务器”

  2. 使用 ldapmodify 命令行实用程序将 nsslapd-db-durable-transactions 属性添加到 cn=config,cn=ldbm database,cn=plugins,cn=config 条目中,然后将该属性的值设置为 off

    有关 nsslapd-db-durable-transactions 属性语法的详细信息,请参阅 iPlanet Directory Server 配置、命令和文件参考指南。有关 ldapmodify 的说明,请参阅“使用 ldapmodify 添加和修改条目”

  3. 重新启动 iPlanet Directory Server。


指定事务批处理

在不需要随时进行事务处理时,为提高更新性能,可以使用 nsslapd-db-transaction-batch-val 属性来指定一次性提交多少个事务给事务日志。设置该属性为大于 0 的值将导致服务器推迟提交事务,直至排队的事务数等于该属性值。要使事务批处理有效,nsslapd-db-durable-transaction 属性必须设置为 on

要在服务器运行时指定或修改事务批处理,请使用 ldapmodify 命令行实用程序将 nsslapd-db-transaction-batch-val 属性添加到 cn=config,cn=ldbm database,cn=plugins,cn=config 条目中。

有关 nsslapd-db-transaction-batch-val 属性的语法和属性值的详细信息,请参阅 iPlanet Directory Server 配置、命令和文件参考指南。有关 ldapmodify 的说明,请参阅“使用 ldapmodify 添加和修改条目”



其它调整提示



本节提供一些与性能有关的提示和应了解的概念。


在 cn=config 下创建条目

cn=config 条目存储在简单的、平面化的 dse.ldif 配置文件中,而不象一般条目那样存储在同一个、具有高度伸缩性的数据库中。因此,如果有许多条目,尤其是可能要经常更新的条目储存在 cn=config 下面,则性能将会受到严重影响。

然而,虽然由于性能原因不推荐在 cn=config 下存储简单的用户条目,但是将诸如目录管理员条目或复制管理器(供给器绑定 DN)等特殊的用户条目储存在 cn=config 下很有用,因为这可以将配置信息集中起来。


上一页      目录     索引      文档主页      下一页     
版权所有 © 2001 Sun Microsystems, Inc.。部分版权所有 © 2001 Netscape Communications Corp.。保留所有权利。

最近更新时间:2002 年 2 月 15 日