Microsoft SQL Server 现在已有 30 多年的历史,并且仍然是当今最流行的商业用关系数据库之一。它只需稍作调整即可高效运行,但也可以深入调整以获得最佳性能。在微调 SQL Server 数据库之前,首先必须监控其在各种条件和工作负载下的性能。在本篇文章中,我们将回顾一些最具说明性的指标,以衡量服务器性能。
性能监控的好处
为了使数据库服务器顺利运行,定期监控其性能至关重要。一个好的 SQL Server 监控计划可以帮助你掌控服务器的:
- 性能:监控数据库性能可以帮助发现可能的瓶颈和其他问题,以便您为将来的事件做好更充分的准备。除了主动性之外,性能指标可以助你决定是否有必要提高性能。例如,在查询运行时监视查询可能会显示需要修改的地方。
- 增長:数据库流量的增长速度往往快于预期。通过观察用户和流量模式,你可以预测将来需要的升级。
- 安全性:人们都倾向于将术语“数据库安全性”与审核联系起来。虽然审核有助于追踪未经授权使用数据库的源头,并且根据所使用的产品阻止其进入的途径。然而,性能监控可以帮助确认已采用适当的安全措施。
性能指标
SQL Server 性能指标通常针对以下四个组件:磁盘活动、处理器使用率、内存和服务器本身:
磁盘活动
- % Disk Time:此计数器监视磁盘忙于读取或写入活动所用的时间。其值是以百分比表示的“Average Disk Queue Length”值(即乘以 100)。如果“Average Disk Queue Length” 值为 1,则“% Disk Time”为 100%。如果每个磁盘的这个值都大于 90%,则需要进行额外的调查。首先,请检查“Current Disk Queue Length”值。如果它高于每个物理磁盘的阈值 2,就要监视此值是否经常很高。
- Average Disk Queue Length:等待的 I/O 操作数。例如,在 6 磁盘数组中,“Current Disk Queue Length”值为 12 表示每个磁盘的队列为 2。挂起的 I/O 请求数不应始终超过物理磁盘心轴数的 1.5 到 2 倍。
- Page reads/sec 和 page writes/sec:SQL Server Buffer Manager 指标 page reads per second 和 page writes per second 显示页在一秒钟内磁盘读取数和磁盘写入数。这是服务器级的指标,因此该数字表示实例上所有数据库的页读取数。建议的 page reads/sec 和 page writes/sec 值应小于 90。较大的值通常表示内存不足和可能有索引问题。
处理器使用率
- % Processor time:处理器用于执行用户进程(如 SQL Server)的时间百分比。换句话说,这是处理器在用户进程上花费的非闲置时间的百分比。请注意,多处理器系统的每个 CPU 都有一个单独的实例。建议的 % Processor Time 值为 80%,因此如果达到了 80-90% 太高了,应该尽快解决。
- % Privileged time:表示在 Windows 内核命令(即 SQL Server I/O 请求)上花费的时间。如果此磁盘计数器和物理磁盘计数器都很高,则可能需要更快的磁盘或降低此服务器的负载。
- % user time:CPU 花费在用户进程上的时间百分比。
- Queue Length:等待处理时间的线程数。较大的数字可能表示需要更快或更多的处理器。 在第 2 部分中,我们将继续介绍计量内存和服务器的指标。
在第 2 部分中,我们将继续介绍计量内存和服务器的指标。