Exchange 2013 性能计数器

适用于:Exchange Server 2013

下列各节列出了在解决 Exchange 2013 性能问题时您可以使用的有用性能计数器。

Exchange 域控制器连接计数器

下表显示了可接受的阈值和有关 Exchange 域控制器连接计数器的信息。

计数器 描述 阈值
MSExchange ADAccess 域控制器 (*) \LDAP 读取时间 显示将 LDAP 读请求发送至指定域控制器并接收响应的时间(毫秒)。 平均应该低于 50。 峰值(最大值)不应高于 100 毫秒。
MSExchange ADAccess 域控制器 (*) \LDAP 搜索时间 显示发送 LDAP 搜索请求并接收响应的时间(毫秒)。 平均应该低于 50。 峰值(最大值)不应高于 100 毫秒。
MSExchange ADAccess 进程 (*) \LDAP 读取时间 显示将 LDAP 读请求发送至指定域控制器并接收响应的时间(毫秒)。 平均应该低于 50。 峰值(最大值)不应高于 100 毫秒。
MSExchange ADAccess Process (*) \LDAP 搜索时间 显示发送 LDAP 搜索请求并接收响应的时间(毫秒)。 平均应该低于 50。 峰值(最大值)不应高于 100 毫秒。

处理器和进程计数器

下表显示了可接受的阈值以及有关处理器和进程计数器的信息。

计数器 描述 阈值
处理器 (_Total) % 处理器时间 显示处理器执行应用程序或操作系统进程的时间的百分比。 当处理器处于非空闲状态时,此值为 。 平均应该少于 75%。
处理器 (_Total) % 用户时间 显示花在用户模式上的处理器时间的百分比。 用户模式是受限制的处理模式,旨在用于应用程序、环境子系统和完整子系统。 平均应该少于 75%。
处理器 (_Total) % 特权时间 显示花在特权模式上的处理器时间的百分比。 特权模式是一种处理模式,旨在用于操作系统组件和硬件处理驱动程序。 它允许直接访问硬件和所有内存。 平均应该少于 75%。
System\Processor Queue Length(所有实例) 表示每个处理器所服务的线程数。 处理器队列长度可用于确定处理器争用或 CPU 使用率很高是否由处理器处理所分配的工作负荷时容量不足所致。 处理器队列长度显示了处理器就绪队列中延迟的线程数以及等待计划执行的线程数。 列出的值是进行测量时最后一次观察到的值。 每个处理器的队列长度不应大于 5。
进程 (*) % 处理器时间 可以用于标识占用 CPU 的特定进程。 不适用

内存计数器

下表显示了可接受的阈值和有关内存计数器的信息。

计数器 描述 阈值
Memory\Available Mbytes 显示可立即分配给进程或供系统使用的物理内存量 (MB)。 它等于分配给备用(已缓存)、可用和零分页列表的内存总和。 有关内存管理器的完整解释,请参阅 Microsoft Developer Network (MSDN) 或 Windows Server 2003 资源工具包中的"系统性能和疑难解答指南"。 应该保持在 RAM 总量的 5% 以上。
使用的内存百分比提交字节数 显示 Memory\Committed Bytes 与 Memory\Commit Limit 的比率。 已提交内存是指在需要写入磁盘时已在分页文件中保留空间的使用中的物理内存。 提交限制由分页文件的大小确定。 如果扩大分页文件,则提交限制会增加,并且该比率会减小。 此计数器仅显示当前的百分比值;它不是平均值。 如果该值大于 80%,则表明系统很可能无法提供更多的内容。

.NET Framework 计数器

下表显示了可接受的阈值以及有关.NET Framework计数器的信息。

计数器 描述 阈值
GC 中的 .NET CLR 内存 (*) % 时间 显示进行垃圾收集的时间。 当计数器超过阈值时,表示 CPU 正在进行清理,并且不能有效用于加载。 向服务器添加内存可以改善这种情况。 平均起来应该低于 10%。
.NET CLR 异常 (*) # 的 Exceps 引发数/秒 显示每秒钟抛出的异常数。 这些异常包括.NET Framework异常和转换为.NET Framework异常的非托管异常。 例如,非托管代码中的空指针引用异常将在非托管代码中作为 .NET Framework System.NullReferenceException 再次抛出。 此指针包含已处理和未处理的异常。 应小于每秒请求总数的 5%, (RPS) (Web Server(_Total)\Connection Attempts/sec * .05)
所有堆中的 .NET CLR 内存 (*) # 字节 显示其他四个计数器的总和:Gen 0 堆大小、Gen 1 堆大小、Gen 2 堆大小以及大型对象堆大小。 此计数器表示 GC 堆上当前分配的内存(字节)。 不适用

网络计数器

下表显示了可接受的阈值以及有关常见网络计数器的信息。

计数器 描述 阈值
网络接口 (*) \数据包出站错误 指示由于错误而无法传输的出站数据包数。 应始终为 0。
TCPv6\Connection Failures 显示 TCP 连接从 SYN-SENT 状态或 SYN-RCVD 状态直接转换为 CLOSED 状态的次数,以及 TCP 连接从 SYN-RCVD 状态直接转换为 LISTEN 状态的次数。 失败次数增加或故障率持续增加,可能表示带宽短缺。
TCPv4\Connections Reset 显示 TCP 连接直接从 ESTABLISHED 状态或 CLOSE-WAIT 状态转换为 CLOSED 状态的次数。 重置次数增加或重置速率持续增加,可能表示带宽不足。
TCPv6\Connections Reset 显示 TCP 连接直接从 ESTABLISHED 状态或 CLOSE-WAIT 状态转换为 CLOSED 状态的次数。 重置次数增加或重置速率持续增加,可能表示带宽不足。

Netlogon 计数器

下表显示了用于监视 NTLM 身份验证问题和 MaxConcurrentAPI 问题的常见计数器的可接受阈值和信息。 有关详细信息,请参阅 Microsoft 知识库文章 KB2688798

计数器 描述 阈值
\Netlogon\Semaphore Waiters 正在等待获取信号的线程数量。 有关详细信息,请参阅 Microsoft 知识库文章 KB2688798
\Netlogon\Semaphore Holders 存放信号的线程数量。 不适用
\Netlogon\Semaphore Acquires 在安全通道连接的整个生命周期或自系统为 _Total 启动以来,获取信号的总次数。 不适用
\Netlogon\Semaphore Timeouts 线程在安全通道连接的整个生命周期或自系统为 _Total 启动以来等待信号期间,线程超时的总次数。 不适用
\Netlogon\Average Semaphore Hold Time 在上个示例中信号停留的平均时间(秒)。 不适用

数据库计数器

下表显示了活动日志 I/O 延迟要求计数器及其可接受的阈值。 在超出阈值时,客户体验会下降。 例如,用户可能会体验到邮件传递延迟或缓慢的系统性能。

注意

Exchange 2013 中的普通存储延迟指导与 Exchange 2010 中的指导非常相似。 可以在邮箱服务器计数器中找到更多数据库计数器。

计数器 描述 阈值
MSExchange Database ==> 实例 (*) \I/O 数据库读取 (附加) 平均延迟 显示每个数据库读取操作的平均时间长度(毫秒)。 平均应小于 20 毫秒。
MSExchange 数据库 ==> 实例 (*) \I/O 数据库写入 (附加) 平均延迟 显示每个数据库写入操作的平均时间长度(毫秒)。 平均时间应小于 50 毫秒。
MSExchange 数据库 ==> 实例 (*) \I/O 日志写入平均延迟 显示每个日志写入操作的平均时间长度(毫秒)。 平均应小于 10 毫秒。
MSExchange 数据库 ==> 实例 (*) \I/O 数据库读取 (恢复) 平均延迟 显示每个被动数据库读取操作的平均时间长度(毫秒)。 平均应小于 200 毫秒。
MSExchange Database ==> 实例 (*) \I/O 数据库写入 (恢复) 平均延迟 显示每个被动数据库写入操作的平均时间长度(毫秒)。 应小于同一实例的读取延迟,由 MSExchange Database ==> Instances (*) \I/O Database Reads (Recovery) Average Latency 计数器测量。
MSExchange Database ==> 实例 (*) \I/O 数据库读取 (附加) /sec 显示每个附加数据库实例的每秒数据库读取操作数量。 不适用
MSExchange Database ==> Instances (*) \I/O Database Writes (Attached) /sec 显示每个附加数据库实例的每秒数据库写入操作数量。 不适用
MSExchange Database ==> 实例 (*) \I/O 日志写入次数/秒 显示每个数据库实例每秒写入的日志数量。 不适用
MSExchange Active Manager(_total)\Database Mounted 显示服务器上活动数据库副本的数量。 不适用

ASP.NET

下表显示了可接受的阈值和有关 ASP.NET 计数器的信息。

计数器 描述 阈值
ASP.NET\Application Restarts 显示在 Web 服务器的生存期期间已重新启动应用程序的次数。 应始终为 0。
ASP.NET\Worker Process Restarts 显示在计算机上已重新启动工作进程的次数。 应始终为 0。
ASP.NET\Request Wait Time 显示队列中最新请求等待的毫秒数。 应始终为 0。
应用程序队列中的 ASP.NET 应用程序 (*) \Requests 显示应用程序请求队列中的请求数。 应始终为 0。
ASP.NET 应用程序 (*) \Requests 正在执行 显示当前执行的请求数。 不适用
ASP.NET 应用程序 (*) \Requests/sec 显示每秒执行的请求数。 不适用

RPC 客户端访问计数器

下表显示了可接受的阈值和有关 RPC 客户端访问计数器的信息。

计数器 描述 阈值
MSExchange RpcClientAccess\RPC Averaged Latency 显示过去 1,024 个数据包的平均延迟(毫秒)。 应小于 250 毫秒。
MSExchange RpcClientAccess\RPC Requests 显示 RPC 客户端访问服务当前正处理的客户端请求数。 不应大于 40。
MSExchange RpcClientAccess\Active User Count 显示最近 2 分钟之内进行过某些活动的唯一用户数。 不适用
MSExchange RpcClientAccess\Connection Count 显示所维护的客户端连接总数。 不适用
MSExchange RpcClientAccess\RPC Operations/sec 显示 RPC 操作发生的速率(每秒)。 不适用
MSExchange RpcClientAccess\User Count 显示连接到服务的用户数。 不适用

HTTP 代理计数器

下表显示有关 HTTP 代理计数器的信息。

计数器 说明
MSExchange HttpProxy (*) \MailboxServerLocator 平均延迟 显示 MailboxServerLocator Web 服务调用的平均延迟(毫秒)。
MSExchange HttpProxy (*) \平均身份验证延迟 显示最近 200 个示例中对 CAS 请求进行身份验证所花费的平均时间。
MSExchange HttpProxy (*) \Average ClientAccess 服务器处理延迟 显示最近 200 个请求中 CAS 处理时间(不包括代理所花费时间)的平均延迟(毫秒)。
MSExchange HttpProxy (*) \Mailbox Server 代理失败率 显示最近 200 个示例中涉及此客户端访问服务器和 MBX 服务器之间失败的连接百分比。
MSExchange HttpProxy (*) \未完成代理请求 显示并发未处理代理请求的数量。
MSExchange HttpProxy (*) \Proxy Requests/Sec 显示每秒处理的代理请求数。
MSExchange HttpProxy (*) \Requests/Sec 显示每秒处理的请求数。

信息存储计数器

下表显示了可接受的阈值和有关信息存储计数器的信息。

注意

Exchange 2013 中的普通存储延迟指导与 Exchange 2010 中的指导非常相似。 可以在邮箱服务器计数器中找到更多信息存储计数器。

计数器 描述 阈值
MSExchangeIS 存储 (*) \RPC 请求 指示当前在信息存储进程中执行的全部 RPC 请求。 应始终低于 70。
MSExchangeIS 客户端类型 (*) \RPC 平均延迟 显示针对某个特定客户端协议,过去 1,024 个数据包的平均服务器 RPC 延迟(毫秒)。 每个客户端的平均时间应小于 50 毫秒。
MSExchangeIS 存储 (*) \RPC 平均延迟 RPC Latency average (msec) 是每个数据库的 RPC 请求的平均延迟(毫秒)。 平均延迟通过加载 exrpc32 以来的所有 RPC 计算得出。 应始终小于 50 毫秒,峰值小于 100 毫秒。
MSExchangeIS 存储 (*) \RPC 操作数/秒 显示每个数据库实例每秒的 RPC 操作数。 不适用
MSExchangeIS 客户端类型 (*) \RPC Operations/sec 显示每个客户端类型连接每秒的 RPC 操作数。 不适用

客户端访问服务器计数器

下表显示有关客户端连接计数器和 Internet Information Services (IIS) 计数器的信息。

计数器 描述
MSExchange ActiveSync\Requests/sec 显示每秒通过 ASP.NET 从客户端接收到的 HTTP 请求数。 确定当前的 Exchange ActiveSync 请求速率。 仅用于确定当前用户负载。
MSExchange ActiveSync\Ping Commands Pending 显示队列中当前挂起的 ping 命令数。
MSExchange ActiveSync\Sync Commands/sec 显示每秒处理的同步命令数。 客户端使用此命令同步文件夹中的项目。
MSExchange Availability Service\Availability Requests (sec) 显示每秒服务的请求数。 该请求仅针对于忙/闲信息或包括建议。 一个请求可能包含多个邮箱。 确定可用性服务请求发生的速率。
MSExchange OWA\Current Unique Users 显示当前登录到Outlook Web App的唯一用户数。 此值监视唯一活动用户会话的数量,以便仅在用户注销或会话超时后才从此计数器中删除。确定当前用户负载。
MSExchange OWA\Requests/sec 显示每秒由 Outlook Web App 处理的请求数。 确定当前用户负载。
MSExchangeAutodiscover\Requests/sec 显示每秒处理的自动发现服务请求数。 确定当前用户负载。
MSExchangeWS\Requests/sec 显示每秒处理的请求数。 确定当前用户负载。
Web Service(_Total)\Current Connections 显示当前与 Web 服务建立连接的数量。 确定当前用户负载。
Web Service(Default Web Site)\Current Connections 显示与默认网站建立的当前连接数,该数目对应于访问前端 CAS 服务器角色的连接数。 确定当前用户负载。
WebService(_Total)\Connection Attempts/sec 显示尝试连接到 Web 服务的速率。 确定当前用户负载。
Web Service(_Total)\Other Request Methods/sec 显示没有使用 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、MOVE、COPY、MKCOL、PROPFIND、PROPPATCH、SEARCH、LOCK 或 UNLOCK 方法发出 HTTP 请求的速率。 确定当前用户负载。

工作负载管理计数器

下表显示有关 Exchange 工作负载管理计数器的信息。 监视这些计数器非常重要,因为在非高峰期工作负载管理可能在后台运行任务。

计数器 说明
MSExchange WorkloadManagement Workloads (*) \ActiveTasks 显示当前工作负载管理在后台运行的活动任务数。
MSExchange WorkloadManagement Workloads (*) \CompletedTasks 显示已经完成的工作负载管理任务数。
MSExchange WorkloadManagement Workloads (*) \QueuedTasks 显示当前正在排队等待处理的工作负载管理任务数。