第 2 章 跟踪服务器和数据库性能

红帽目录服务器有两种记录和跟踪性能数据的方法:性能计数器和日志。计数器用于确定目录服务器的性能如何,特别是数据库性能;日志用于诊断服务器和 LDAP 操作和配置的任何问题区域。
性能计数器专注于服务器、所有配置的数据库和数据库链接(链数据库)的操作和信息。
有三种日志类型:访问(用于客户端连接)、错误(用于错误、警告和事件详情)和 audit(更改目录服务器配置)。默认运行的访问和错误日志(以及服务器运行需要错误日志)。由于开销,必须手动启用审计日志记录。
注意
访问日志已被缓冲。即使加载的服务器也允许完全访问记录,但在服务器中发生事件以及事件写入日志时之间会有一个时间滞后。

2.1. 监控服务器活动

可通过 Web 控制台或命令行监控目录服务器的当前活动。也可以监控所有数据库缓存的活动。
注意
由服务器监控的目录服务器数据库属性的一些计数器使用 64 位整数,即使在 32 位系统中,即使是 32 位系统(启动的连接、操作完成、操作完成、发送条目和字节数发送)。在高容量系统上,这可防止滚动的计数器的速度过快,并造成监控数据。

2.1.1. 使用命令行监控目录服务器

使用命令行监控服务器:
# dsconf -D "cn=Directory Manager" ldap://server.example.com monitor server
下表描述了命令返回的属性:

表 2.1. 服务器监控属性

属性 描述
version 标识目录的当前版本号。
threads 用于处理请求的当前活动线程数量。额外的线程可以由内部服务器任务创建,如复制或串联。
连接 为每个打开的连接提供以下摘要信息(仅在作为 Directory Manager 的绑定到目录时才可用):
fd - 此连接的文件描述符。
opentime - 打开此连接的时间。
opsinitiated - 此连接启动的操作数量。
opscompleted - 已完成的操作数量。
bindDN - 此连接用于连接的目录的可分辨名称。
rw - 如果连接被阻止进行读取或写入,显示的字段。
默认情况下,此信息可供 Directory Manager 使用。但是,可以编辑与此信息关联的 ACI,以允许其他人访问信息。
currentconnections 按目录确定服务当前在服务中的连接数。
totalconnections 识别从目录启动以来所处理的连接数量。
currentconnectionsatmaxthreads 显示所有当前处于 最大线程 状态的连接。
maxthreadsperconnhits 显示连接达到最大 线程的次数
dtablesize 显示可用于目录的文件描述符数量。每个连接都需要一个文件描述符:每个打开的索引对应一个,一个用于日志文件管理,另一个用于 ns-slapd 本身。本质上,这个值显示 目录中可以服务多少个额外的并发连接。有关文件描述符的更多信息,请参阅操作系统文档。
readwaiters 标识等待从客户端读取数据的线程数量。
opsinitiated 标识服务器启动以来启动的操作数量。
opscompleted 标识服务器启动以来已完成的操作数量。
entriessent 标识在服务器启动时发送到客户端的条目数量。
bytessent 标识在服务器启动后发送到客户端的字节数。
currenttime 标识执行服务器快照的时间。时间以 UTC 格式显示 Greenwich Mean Time(GMT)。
starttime 标识服务器启动的时间。时间以 UTC 格式显示 Greenwich Mean Time(GMT)。
nbackends 标识服务器服务的后端数量(数据库)。

2.1.2. 使用 Web 控制台监控服务器

使用 Web 控制台监控服务器:
  1. 在 web 控制台中打开 Directory Server 用户界面。详情请参阅 Red Hat Directory Server Administration Guide 中的使用 Web 控制台登录到 目录服务器一节。
  2. 选择 实例。
  3. Monitoring 选项卡中,选择 Server stats
    下表描述了此菜单中可见的字段:

    表 2.2. 常规信息(服务器)

    字段 描述
    服务器实例 显示 Directory 服务器实例的名称。
    版本 标识当前服务器版本。
    服务器已启动 服务器启动的日期和时间。
    server Uptime 实例运行的时间。
    Worker Threads 用于处理请求的当前活动线程数量。额外的线程可以由内部服务器任务创建,如复制或串联。
    线程等待读取 等待从客户端读取的线程总数。如果服务器开始从客户端接收请求,则线程可能不会立即读取,然后因某种原因停止该请求的传输。通常,等待读取的线程表示网络或客户端慢的问题。
    conns At Max Threads 显示所有当前处于 最大线程 状态的连接。
    conns Hit Max Threads 显示连接达到最大 线程的次数
    连接总数 为这个目录服务器实例建立的连接总数。
    当前连接 开放连接总数。每个连接都可以考虑多个操作,因此多个线程。
    操作已启动 此连接启动的操作数量。
    操作完成 服务器为此连接完成的操作数量。
    返回客户端的条目 自服务器启动以来发送到客户端的条目数量。
    客户端的字节数 自服务器启动以来发送到客户端的字节数。