您的位置:首页 > 数据库

SQL Server 服务器性能指标

2012-03-29 10:57 459 查看
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%,则表示磁盘系统处于满负荷状态。可考虑将当前的磁盘系统更换为速度更快的磁盘系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: