Jam*_*mil 10 performance sql-server
我是埃因霍温 Fontys 大学的学生,我目前正在进行一系列采访以帮助开发 SQL Server 工具,我想从该领域的专家那里得到反馈。
我的问题之一是:
您可以在 SQL Server 实例上查看哪些性能计数器来确定它的性能和整体健康状况?
特别是我对好变坏时的阈值感兴趣。
Jamil Young 埃因霍温 荷兰
Bre*_*zar 15
这是我的 SQL Server Perfmon 教程:http : //www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/
有关更多计数器和阈值,这是我们在 Quest 时所做的海报:http ://www.quest.com/documents/landing.aspx? id=11635
这是一个很大的话题,有大量的材料可以在谷歌上搜索。作为起点,这些是我倾向于首先查看的计数器:
处理器 - % 处理器时间
系统 – 处理器队列长度
您可能会从您询问的每个 DBA 那里获得不同的 CPU 使用率目标值。SQL Server 许可证很昂贵,因此一方面您希望最大限度地利用 CPU,另一方面又不想影响可用性。在具有充分理解的工作负载的理想世界中,您可能会以 70% 的使用率为目标,在 80-90% 时发出警告,在 90% 以上时发出警报。回到现实世界,工作负载有高峰和低谷,您可能更愿意将平均 50-60% 设为目标。
内存 – 可用兆字节
分页文件 – 使用百分比
使用专用的 SQL Server,根据安装的 RAM,少于 100-200mb 的可用内存可能表示饥饿和操作系统分页的风险。一般来说,我们不希望看到太多的页面文件活动,所以我会调查 % Usage 是否大于 2% 并担心它是否达到 5%
缓冲区管理器——缓冲区缓存命中率
缓冲区管理器——页面预期寿命
最好根据服务器的既定基线来考虑这两个计数器。理想情况下,我们希望缓存命中率尽可能接近 100%,并且 PLE 运行时间为数千秒。当它们偏离历史平均水平时要注意。
SQL 统计信息 – 批处理请求数/秒
SQL 统计 - 编译/秒
SQL 统计信息 - 重新编译/秒
请求/秒是衡量服务器“繁忙”程度的一个很好的相对衡量标准。高编译/重新编译值可能表示在查询编译上浪费了 CPU 周期。
物理磁盘 - 平均。磁盘秒/读取
物理磁盘 - 平均。磁盘秒/写
物理磁盘 – 磁盘读取数/秒
物理磁盘 – 磁盘写入数/秒
正确配置的 IO 系统的粗略准则是日志驱动器 <5ms(理想情况下为 1ms),数据驱动器 <20ms(理想情况下 <10ms)。应该根据驱动器的已知限制考虑每秒读取/写入次数,即如果您有 1000 IOPS 的容量,我会在平均 IOPS 达到 750 时评估升级选项。