我已经收集了性能数据,但为了进行分析,我需要知道所有计数器的阈值。尤其是内存、物理磁盘和处理器对象下的计数器。我浏览过许多网站,这些网站解释了通常需要监控 SQL 性能问题的几个计数器,有些网站也提到了它们的阈值,但它们没有包括整个计数器列表。但是,如果 Windows 提供了这么多计数器,那么我假设它背后一定有某种目的,并且我想知道相应的阈值,以便查看任何计数器值,我都可以得出结论,它是否是瓶颈。我感兴趣的计数器:
物理磁盘:%空闲时间、平均空闲时间、平均磁盘字节数/读取、平均磁盘字节数/传输、平均磁盘字节数/写入、磁盘字节数/秒、磁盘读取字节数/秒、磁盘写入字节数/秒、拆分 IO/秒、
内存对象:% 已提交的使用字节数、缓存字节数、缓存字节峰值、缓存故障/秒、提交限制、已提交的字节数、需求零故障/秒、空闲和零页面列表字节数、已修改页面列表字节数、页面故障/秒、页面输出/秒、池未分页分配、池未分页字节数、池分页分配、池分页字节数、池分页驻留字节数、备用缓存核心字节数、备用缓存正常优先级字节数、备用缓存保留字节数、系统缓存驻留字节数、系统代码总字节数、系统驱动程序驻留字节数、系统驱动程序总字节数、转换故障/秒、转换页面重新利用/秒、写入副本/秒,
处理器对象:%C1 时间、%C2 时间、%C3 时间、%DPC 时间、%空闲时间、%中断时间、%用户时间、C1 转换/秒、C2 转换/秒、C3 转换/秒、DPC 速率、DPC 排队/秒、中断/秒、
谢谢!
答案1
没有适用于所有环境的“硬性”限制,它通常取决于您的安装和要求以及您的硬件。
话虽如此,你肯定可以遵循一些一般的准则:
http://www.extremeexperts.com/sql/articles/SQLCounters.aspx
http://www.sql-server-performance.com/tips/sql_server_performance_monitor_coutners_p1.aspx
我还会检查我们的 SQL Server Central (http://www.sqlservercentral.com),其中包含有关 SQL Server 的有用资源。但是,这些站点需要 (免费) 帐户。
为了得出“阈值”,您应该考虑创建性能计数器的基线,然后根据在给定时间段内观察到的基线值设置阈值。
您可以使用 EventSentry 之类的软件来捕获数据库中随时间变化的性能数据,并设置阈值警报。
答案2
对于您应该监控的 Perfmon 计数器的值,没有一个全面的列表,因为最佳数字取决于很多因素,我见过的最接近且最好的数字是
http://grumpyolddba.co.uk/monitoring/Performance%20Counter%20Guidance%20-%20SQL%20Server.htm
http://grumpyolddba.co.uk/monitoring/Performance%20Counter%20Guidance%20-%20Windows%20Server.htm
高血压