SQL Server 服务器性能指标

1、Memory\Pages/sec   
  2、Network   Interface(Intel[R]   82546EB   Based   Dual   Port   Network   Connection)\Bytes   Total/sec   
  3、PhysicalDisk(_Total)\%   Disk   Time   
  4、Processor(_Total)\%   Processor   Time   
  5、Processor(_Total)\Interrupts/sec   
  6、SQLServer:Locks(_Total)\Average   Wait   Time   (ms)   
  7、SQLServer:Locks(_Total)\Lock   Requests/sec   
  8、SQLServer:Locks(_Total)\Lock   Timeouts/sec   
  9、SQLServer:Locks(_Total)\Lock   Wait   Time   (ms)   
  10、SQLServer:Locks(_Total)\Lock   Waits/sec   
  11、SQLServer:Locks(_Total)\Number   of   Deadlocks/sec   
  12、System\Processor   Queue   Length

[前话]收集性能计数器注释,以备使用!
[内容]
1  % Processor Time (Processor _Total)
指处理器用来执行非闲置线程时间的百分比。计算方法是,度量处理器用来执行空闲线程的时间,然后用 100% 减去该值。
如果该参数值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。2  Processor\% User Time\_Total
   表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。
3  Memory\Pages/sec
   Hard Paging-Memory:Pages/sec > 0 或 Memory:Page Reads/sec > 5
Memory:Pages/sec > 0 或 Memory:Page Reads/sec > 5 表示 Windows 将通过磁盘解决内存引用(强制分页错误)。这需要消耗磁盘 I/O 和 CPU 资源。Memory:Pages/sec 是一个指示 Windows 正在执行的分页数量和数据库服务器当前的 RAM 配置是否充足的有效指示器。Performance Monitor 中的强制分页信息的子集是 Windows 每秒钟必须读取分页文件以解决内存引用的次数,它用“Memory:Pages Reads/sec”表示。如果“Memory:Pages Reads/sec > 5,那么这对于性能是不利的。
 
    每秒磁盘读写页数
这会导致硬页故障,从而导致SQL Server依赖页文件而不是依赖内存。如果这个计数器的平均值为20,你可能需要添加额外的RAM来停止内存分页。
 
4   Memory\Available Mbytes
     它测量可用于运行进程的物理内存量(单位为兆字节)。如果此值低于总物理 RAM 的 5%,则意味着内存不足,分页活动可能会增加。要解决此问题,应增加更多的内存。
5  Memory: Page Faults / sec
  如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈
6  PhysicalDisk\Avg. Disk Queue Length\_Total
该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。
7  PhysicalDisk\Avg. Disk sec/Read\_Total
   它测量从磁盘读取数据的平均时间(以秒为单位)。如果此数字大于 25 毫秒 (ms),则意味着从磁盘读取数据时磁盘系统发生了延迟。对于托管 SQL Server(R) 和 Exchange Server 的关键任务服务器,可接受的阈值要低得多,约为 10 ms。
8  PhysicalDisk\Avg. Disk sec/Write\_Total
   它测量将数据写入磁盘所需的平均时间(以秒为单位)。如果此数字大于 25 ms,则意味着写入磁盘时磁盘系统发生了延迟。对于托管 SQL Server 和 Exchange Server 的关键任务服务器,可接受的阈值要低得多,约为 10 ms
9  PhysicalDisk\Disk Reads/sec\_Total
                   
    
取决于制造商检查磁盘的指定传送速度,以验证此速度没有超出规格。通常,Ultra Wide SCSI 磁盘
每秒可以处理 50 到 70 次 I/O 操作。
10 PhysicalDisk\Disk Writes/sec\_Total
                   
    
取决于制造商检查磁盘的指定传送速度,以验证此速度没有超出规格。通常,Ultra Wide SCSI 磁盘
每秒可以处理 50 到 70 次 I/O 操作。
 
 
9b  PhysicalDisk\Disk sec /Reads\_Total
   <8ms
10b PhysicalDisk\Disk sec /Writes \_Total
   < 8ms (non cached) < 1ms (cached)
11 SQLServer:Access Methods\Full Scans/sec
  a每秒不受限制的完全扫描数。这些扫描可以是基表扫描,也可以是全文索引扫描。合理范围:<5
b如果该指标的值比1或2高,应该分析设计的查询以确定是否确实需要全表扫描,以及SQL查询是
否可以被优化
12 SQLServer:Access Methods\page Splits/sec
  每秒由于索引页溢出而发生的页拆分数。
   合理范围:越小越好,可降低填满因子的设定值或重建索引还减少每秒的页分割数量。
13 SQLServer:Access Methods\Worktables Created/sec
   每秒创建的工作表数。例如,工作表可用于存储查询假脱机、LOB 变量、XML 变量和游标的临时结果。
 
14 SQLServer:Buffer Manager\Buffer cache hit ratio
 比率最好为90% 或更高。表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。
SQLServer : Cache Manager: Cache Hit RatioSQL
  该值越高越好。如果持续低于80%,应考虑增加内存。 注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。
15 SQLServer:Buffer Manager\Checkpoint pages/sec
  由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。
16 SQLServer:Buffer Manager\Lazy writes/sec
  每秒被缓冲区管理器的惰性编写器写入的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。惰性编写器不需要为创建可用缓冲区而频繁执行检查点。
合理范围:0
17 SQLServer:Buffer Manager\Page life expectancy
  页若不被引用将在缓冲池中停留的秒数。
  Page Life Expectancy (PLE) 计数器帮助确定是否内存不足。PLE 计数器显示数据页在缓冲区高速缓存中停留的时间。行业中该计数器的可接受阈值为 300 秒。如果在很长一段时间内显示的值平均小于 300 秒,则表明从内存中刷新数据页的频率过高。如果出现这种情况,将导致 Resource Monitor 负载加重,从而导致处理器的活动增多。应该将 PLE 计数器和 Checkpoints Pages/sec 计数器一起进行评估。在系统中出现检查点时,缓冲区高速缓存中的脏数据页被刷新到磁盘,从而导致 PLE 值下降。Resource Monitor 进程是真正将这些页刷新到磁盘的机制,所以在出现这些检查点期间,您应该还会看到 Lazy Writes/sec 值增加。如果完成检查点后 PLE 值立即增加,您可以忽略这种短暂现象。另一方面,如果发现经常低于 PLE 阈值,则此时非常适合使用多出的内存缓解您的问题,同时将一些资源释放回 CPU。
 
18 SQLServer:Databases\Data File(s) Size (KB)\sqlh2
  数据库中所有数据文件的累计大小 (KB),包括任何自动增长。监视此计数器非常有用,例如可以确定 tempdb 的准确大小。
19 SQLServer:Databases\Log File(s) Size (KB)\sqlh2
   数据库中所有事务日志文件的累计大小 (KB)。
20 SQLServer:Databases\Log File(s) Used Size (KB)\sqlh2
  数据库中所有日志文件的累计已用大小。
21 SQLServer:Latches\Latch Waits/sec
  未能立即授予的闩锁请求数。
  合理范围:越小越好,值过大表明服务器可能存在对资源的竞争问题。
22 SQLServer:Latches\Average Latch Wait Time (ms)
   必须等待授予的闩锁请求的平均等待时间(毫秒)。如果该指标的值很高,则系统可能正经历严
重的资源竞争问题。
23 SQLServer:Locks\Lock Waits/sec\_Total
  每秒要求调用者等待的锁请求数
24 SQLServer:Locks\Average Wait Time (ms)\_Total
   每个导致等待的锁请求的平均等待时间(毫秒)。
25 SQLServer:SQL Statistics\Batch Requests/sec
  每秒收到的 Transact-SQL 命令批数。 这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。 批处理请求数值高意味着吞吐量很好
26 SQLServer:SQL Statistics\SQL Compilations/sec
   每秒的 SQL 编译数。 表示编译代码路径被进入的次数。 包括 SQL Server 中语句级重新编译导致的编译。 当 SQL Server 用户活动稳定后,该值将达到稳定状态
27 SQLServer:SQL Statistics\SQL Re-Compilations/sec
   每秒语句重新编译的次数。 计算语句重新编译被触发的次数。 一般来说,这个数最好较小。 在更高版本的 SQL Server 中,重新编译发生在语句级别,而不是发生在 Microsoft SQL Server 2000 中的批处理级别。 因此,不能直接比较 SQL Server 和早期版本中该计数器的值。
28 SQLServer:Memory Manager\Memory Grants Pending
   等待工作空间内存授权的进程总数。
29 PhysicalDisk\% Idle Time
它测量磁盘在采样间隔期间的空闲时间百分比。如果此计数器低于 20%,则表示磁盘系统处于满负荷状态。可考虑将当前的磁盘系统更换为速度更快的磁盘系统。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页