loadrunner监控sqlserver数据库

上一篇 / 下一篇  2011-09-16 15:54:05 / 个人分类:LoadRunner

SQLServer

注:以下指标取自SQL Server自身提供的性能计数器。

指标名称

指标描述

指标范围

指标单位

1SQL Server中访问方法(Access Methods)对象包含的性能计数器

全表扫描/

(Full Scans/sec)

每秒全表扫描的数量。全表扫描可以是基本表扫描或全索引扫描。由于全表扫描需要耗费大量时间,因此全表扫描的频率过高的话,会影响性能。

如果该指标的值比12高,应该分析设计的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。

次数/

2SQL Server中缓冲器管理器(Buffer Manager)对象包含的性能计数器

缓冲区高速缓存命中率(BufferCache

Hit Ratio%

指在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。该比率是缓存命中总次数与缓存查找总次数之比。经过很长时间后,该比率的变化很小。由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。

该指标的值最好为90%或更高。通常可以通过增加SQL Server可用的内存数量来提高该指标的值。增加内存直到这指标的值持续高于90%,表示90%以上的数据请求可以从数据缓冲区中获得所需数据。

 

读的页/

(Page Reads/sec)

指每秒发出的物理数据库页读取数。该指标主要考察数据库从磁盘读取数据的频率。因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。

该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。

个数/

写的页/

(Page Writes/sec)

指每秒执行的物理数据库写的页数。该指标主要考察数据库向磁盘写入数据的频率。因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。

该指标的值应尽可能的小。可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。

个数/

惰性写/

(Lazy Writes/sec)

指每秒被缓冲区管理器的惰性编写器写入的缓冲区数。惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。

该指标的值最好为0

个数/

3SQL Server中高速缓存管理器(Cache Manager)对象包含的性能计数器

高速缓存命中率(Cache Hit Ratio%

指高速缓存命中次数和查找次数的比率。在SQL Server中,Cache包括Log CacheBuffer Cache以及Procedure Cache,该指标是指所有Cache的命中率,是一个总体的比率。

该指标的值越高越好。如果该指标的值持续低于80%,就需要增加更多的内存。

%

4SQL Server中闩(Latches)对象包含的性能计数器

平均闩等待

时间(毫秒)

(Average Latch

Wait Time(ms))

指一个SQL Server线程必须等待一个闩的平均时间。

如果该指标的值很高,则系统可能正经历严重的资源竞争问题。

毫秒

闩等待/

(Latch Waits/sec)

指在一个闩上每秒的平均等待数量。

如果该指标的值很高,则系统可能正经历严重的资源竞争问题。

个数/

5SQL Server中锁(Locks)对象包含的性能计数器

死锁的数量/

(Number of Deadlocks/sec)

每秒导致死锁的锁请求数。

锁加在SQL Server资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。应尽可能少使用锁以提高事务的并发性,从而改善性能。

个数/

平均等待时间(毫秒)

(Average Wait

Time(ms))

线程等待某种类型的锁的平均等待时间。

同上

毫秒

锁请求/

(Lock Requests/sec)

指每秒钟某种类型的锁请求的数量。

同上

 

 

个数/

 

应该收集哪些SQLServer的性能指标?
一般需要监控以下指标:

1) SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。

2) 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。

3) Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。

4) Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。

-------------------------------------------------------------------------------------------------------------------------------后来在网上看到一个比较详细的,可以省去添加查找之苦:

来自:http://sujing1981.blog.163.com/blog/static/27025145201122133738107/

 

性能计数器:  
Performance ObjectCounterDescription
Processor%processor Time指处理器执行非闲置线程时间的百分比,测量处理器繁忙的时间 这个计数器设计成用来作为处理器活动的主要指示器,可以选择单个CPU实例,也可以选择Total
Interrupts/sec处理器正在处理的来自应用程序或硬件的中断的数量
   
PhysicalDisk% Disk Time
计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设 备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。
可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:
1.使用速度更快的磁盘驱动器。
2.将某些文件移至其他磁盘或服务器。
3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。
计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。
如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁
盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 
(RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。
可以使用 Current Disk Queue Length 和 % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length 和 % Disk Time 计数器的值一直很高,则考虑下列事项:
1.使用速度更快的磁盘驱动器。
2.将某些文件移至其他磁盘或服务器。
3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。
Avg.Disk Queue Length指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数
Current Disk Queue Length指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2, 就表示产生了拥塞
Avg.Disk Bytes/Transfer写入或读取操作时向磁盘传送或从磁盘传出字节的平均数
Disk Bytes/sec在读写操作中,从磁盘传出或传送到磁盘的字节速率
   
MemoryPages/sec被请求页面的数量.
Available Bytes可用物理内存的数量
Committed Bytes已分配给物理 RAM 用于存储或分配给页面文件的虚拟内存
Pool Nonpaged Bytes未分页池系统内存区域中的 RAM 数量
Page Faults/sec是每秒钟出错页面的平均数量
   
Network InterfaceBytes Received/sec使用本网络适配器接收的字节数
Bytes Sent/sec使用本网络适配器发送的字节数
Bytes Total/sec使用本网络适配器发送和接收的字节数
ServerBytes Received/sec把此计数器与网络适配器的总带宽相比较,确定网络连接是否产生瓶颈
   
SQL Server Access MethodsPage Splits/sec每秒由于索引页溢出而发生的页拆分数.如果发现页分裂的次数很多,考虑提高Index的填充因子.数据页将会有更多的空间保留用于做数据的填充,从而减少页拆分
Pages Allocated/sec在此 SQL Server 实例的所有数据库中每秒分配的页数。这些页包括从混合区和统一区中分配的页
Full Scans/sec每秒不受限制的完全扫描数. 这些扫描可以是基表扫描,也可以是全文索引扫描
   
SQL Server: SQL StatisticsBatch Requests/Sec每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。
批处理请求数值高意味着吞吐量
SQL Compilations/Sec每秒的编译数。表示编译代码路径被进入的次数。包括 SQL Server 中语句级重新编译导致的编译。当 SQL Server 用户活动稳定后,
该值将达到稳定状态
Re-Compilations/Sec每秒语句重新编译的次数。计算语句重新编译被触发的次数。一般来说,这个数最好较小,存储过程在理想情况下应该只编译一次,
然后执行计划被重复使用. 如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数
   
SQL Server: DatabasesLog Flushes/sec每秒日志刷新数目
Active Transactions数据库的活动事务数
Backup/Restore Throughput/sec每秒数据库的备份和还原操作的读取/写入吞吐量。例如,并行使用多个备份设备或使用更快的设备时,可以测量数据库备份操作性能的变化情况。
数据库的备份或还原操作的吞吐量可以确定备份和还原操作的进程和性能
   
SQL Server General StatisticsUser Connections系统中活动的SQL连接数. 该计数器的信息可以用于找出系统的最大并发用户数
Temp Tables Creation Rate每秒创建的临时表/表变量的数目
Temp Tables For Destruction等待被清除系统线程破坏的临时表/表变量数
   

SQL Server Locks
Number of Deadlocks/sec指每秒导致死锁的锁请求数. 死锁对于应用程序的可伸缩性非常有害, 并且会导致恶劣的用户体验. 该计数器必须为0
Average Wait Time (ms)每个导致等待的锁请求的平均等待时间
Lock requests/sec锁管理器每秒请求的新锁和锁转换数. 通过优化查询来减少读取次数, 可以减少该计数器的值
   
SQL Server:Memory ManagerTotal Server Memory (KB)从缓冲池提交的内存(这不是 SQL Server 使用的总内存)
Target Server Memory (KB)服务器能够使用的动态内存总量
SQL Cache Memory(KB)服务器正在用于动态 SQL 高速缓存的动态内存总数
Memory Grants Pending指每秒等待工作空间内存授权的进程数. 该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈
   
SQL Server Buffer ManagerBuffer Cache Hit Ratio缓存命中率,在缓冲区高速缓存中找到而不需要从磁盘中读取(物理I/O)的页的百分比. 如果该值较低则可能存在内存不足或不正确的索引
Page Reads/sec每秒发出的物理数据库页读取数。此统计信息显示的是所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低
Page Writes/sec每秒执行的物理数据库页写入数
Page Life Expectancy页若不被引用将在缓冲池中停留的秒数
Lazy Writes/Sec每秒被缓冲区管理器的惰性编写器写入的缓冲区数
Checkpoint Pages/Sec由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数


TAG: LoadRunner loadrunner Loadrunner sqlserver计数器

 

评分:0

我来说两句

Open Toolbar