首页 > 代码库 > SQL Server数据库镜像关键性能计数器

SQL Server数据库镜像关键性能计数器

SQL Server数据库镜像关键性能计数器



监视数据库镜像基本有以下5种方法:

1. 配置数据库镜像监视器、设置告警阈值。

2. 配置WMI EVENT ALERT,配置镜像状态修改后的动作或告警。

3. 使用系统监视器查看关键性能计数器。

4. 部署作业监控异常镜像状态,发送告警。

5. 使用sp_dbmmonitorresults获取镜像数据。

 

当然,使用扩展事件和SQL Server Profiler也能监控到数据库事件中的数据库镜像状态修改。这种工具主要用于跟踪,而非监控的常规手段。

 

这篇博文主要介绍如何使用系统监视器(以前叫做性能监视器)来监控数据库镜像性能。SQL Server:Database Mirroring对象包含数据库镜像的性能计数器。以下列表描述了一些关键计数器。

 

关键的主服务器计数器:

  • Log Bytes Send/sec:日志从主到镜像的传输速率

  • Log Send Queue KB:还没有发送到镜像的日志总数(单位:千字节)

  • Transaction Delay:花费在等待来自镜像提交应答的延迟(单位:毫秒)。该计数器用于确定在主服务器数据库镜像是否影响性能很有用。

  • Log Compress Bytes Sent/sec:上一秒发送的日志的压缩字节大小。为了计算日志压缩率,可以用Log Compressed Bytes Sent/sec除以Log Bytes Sent/sec得到。

  • Log Bytes Sent from Cache/sec:在上一秒钟内从镜像日志缓存中获得的发送日志字节数。此计数器只在主体服务器上使用。 在镜像服务器上此值始终是 0。

 

关键的镜像服务器计数器:

  • Redo Bytes/sec:日志在镜像数据库前滚的速率。

  • Redo Queue KB:还没有前滚到镜像数据库的总日志数量。(单位:千字节)为了评估镜像重做日志的时间,可以用Redo Queue KB除以Redo Bytes/sec。

  • Log Bytes Received/sec:从主接收的日志的速率。为了评估镜像赶上主的时间,可以用Log Send Queue KB除以Log Bytes Received/sec。

  • Log Compressed Bytes Received/sec:在上一秒接收的压缩日志的大小。

  • Log Bytes Redone from Cache/sec:在上一秒钟内从镜像日志缓存中获得的重做日志字节数。此计数器只在镜像服务器上使用。在主体服务器上此值始终是 0。

 

使用性能计数器可以监视数据库镜像性能。 例如,可以检查 Transaction Delay 计数器以确定数据库镜像是否影响主体服务器的性能,可以检查 Redo Queue 和 Log Send Queue 计数器以确定镜像数据库与主体数据库之间保持同步的情况。 还可以检查 Log Bytes Sent/sec 计数器以监视每秒发送的日志量。

 

完整性能计数器列表,请参考:

https://msdn.microsoft.com/zh-cn/library/ms189931.aspx



本文出自 “SQL Server Deep Dive” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1907134

SQL Server数据库镜像关键性能计数器