2.与
sqlserver
相关的性能计数器:
Process:Working Set
Working
Set
计数器表示的是一个进程所占用的内存数量。监控时可以选择需要的进程,如:
sql server
的进程
Working Set
(
Process sqlservr
)
SQL Server:Buffer Manager:Buffer Cache Hit Ratio
高速缓存命中率,
比率最好为
90%
或更高。增加内存直到这一数值持续高于
90%
,表示
90%
以上的数据请求可以从数据缓冲区中获得所需数据。
如果这个值很低,持续低于
80%
,就需要增加更多的内存。
SQL Server:Buffer Manager: Total Pages
这个计数器是针对
SQL Server
的物理读写,不是整个系统的物理读写。物理读写比较耗时,所以上面的两个值不要太大。
SQL Server:Memory Manager:Total Server Memory (KB)
若
Total Server Memory (KB)
计数器值与计算机的物理内存大小相比一直很高,可能需要更多的内存。
Full Scans/sec
(
SQL Server
:
Access Methods
)
(
全表扫描
/
秒
)
每秒的完全扫描数。如果这个计数器显示的值比
1
或
2
高。
[
全表扫描很对性能影响很大,一般都优化
SQL
查询语句,尽量避免全表扫描
]
Page splits/sec
(
SQL Server
:
Access Methods
)
(
页分割
/
秒
)
由于数据更新操作引起的每秒页分割的数量。
[
页拆分是说把已满的页上一半的数据移到两个新页上,以便在本页上腾出空间插入数据。页拆分会降低性能。
]
Lazy Writes/sec(
惰性写
/
秒
)
惰性写进程每秒写的缓冲区的数量。值最好为
0
。
[
惰性写进程所做的事简单的说就是:
如果高速缓存空闲列表变得太小,惰性写将扫描整个高速缓存,收回没有使用的页,已保持高速缓存有空闲空间可用。如果该计数器的值很小,说明高速缓存的空闲空间是够用的
]
Average Latch Wait Ti m e ( m s ) (
平均闩等待时间
(
毫秒
))
一个
SQL Server
线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。
Latch Waits/sec (
闩等待
/
秒
)
在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。
Number of Deadlocks/sec
(
SQL Server
:
Locks
)
(
死锁的数量
/
秒
)
导致死锁的锁请求的数量
Average Wait Time
(
SQL Server
:
Locks
)
(ms)
(
平均等待时间
(
毫秒
))
线程等待某种类型的锁的平均等待时间
Lock blocks
(
SQL Server:Memory Manager
)
:
服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。
Use Connections
(
SQL Server
):
当前用户连接数
从以上的计数器中可以看出:
sql server
的当前用户连接数,内存使用量,物理
I/O
,资源竞争情况,是否有死锁,将这些作为是否升级硬件
或
调整参数
或优化程序的参考。