loadrunner 性能计数器分析参考值
一、内存常用计数器
1.PagesInput/sec是为了解决硬错误页,从硬盘上读取的页数。PageInput/sec的值可以衡量出硬错误
页发生的速率,通常它的值会大于或者等于PageReads/sec。
2.PageReads/sec是为了解决硬错误,从硬盘读取的次数。如果PageReads/Sec比率持续保持为5,表
示可能内存不足。
3.Page/sec是指为解析硬页错误从磁盘,读取或写入磁盘的页数。Page/sec推荐00-20(如果服务器
没有足够的内存处理其工作负荷,此数值将一直很高如果大于80,表示有问题)。
4.Available MBytes物理内存的可用数,如果该值很小(100MB或更小),表明内存不足或程序没有
释放内存。
5.Cache Bytes文件系统缓存,默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会
自动整理缓存。需要关注该计数器的趋势变化, 如果您怀疑有内存泄露,请监视 Memory\\
Available Bytes 和 Memory\\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内
存的进程的 Process\\Private Bytes、Process\\Working Set 和Process\\Handle Count。如果
您怀疑是内核模式进程导致了泄露,则还应该监视 Memory\\Pool Nonpaged Bytes、Memory\\
Pool Nonpaged Allocs 和 Process(process_name)\\ Pool Nonpaged Bytes。
二、服务缓存计数器(web)
1.FileCacheHits%是文件缓存命中全部缓存需求的比例,反映了IIS的文件缓存设置的工作情况。
(对于一个大部分是静态网页组成的网站)FileCacheHits%在80%左右属于非常好!
2.FileCacheHits是文件缓存命中的具体值。
FileCacheFlushes是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太
快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过FileCacheHits和FileCacheFlushes
可以得到一个适当的刷新值(参考IIS的设置ObjectTTL、MemCacheSize、MaxCacheFileSize)。
3.Connection Refused 该值越低越好,高数值表示网络适配器或处理器存在瓶颈。
三、CPU计数器
1.%Processor Time:如果该值持续超过80%或85%,表明瓶颈是CPU。可以考虑增加一个处理器或换
一个更快的处理器。
2.%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,
可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。
3.%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该
参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置
Tempdb in RAM,减低"max async IO","maxlazy writer IO"等措施都会降低该值。
4. Processor Queue Length 指待处理队列中的线程数,该计数器会显示出处理器瓶颈。队列长度持续
大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。
5.% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor
Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。
四、物理磁盘计数器
1.%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数
器都比较大,那么硬盘不是瓶颈。如果只%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶
颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过
80%,则可能是内存泄漏。
2.Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2
倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。
3.Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。
4.Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。
5.Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。
6.Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。该值小于15ms最佳,在15~30ms之间
为良好,30~60ms为可接受,超过60ms则考虑更换硬盘或硬盘的RIAD方式了
7.Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接。速度是否是瓶颈,可以用该计数器的值和
目前网络的带宽比较
五、线程计数器
1.ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数
器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文
切换值非常高,就应该减小线程字节池的大小。
六、进程计数器
1.Processor/ %Processor Time:被处理器消耗的处理器时间数量,如果服务专供sql server服务,改制范围不超过80%
~85%。
2.Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表
明数据不能在内存的指定工作集中立即使用。
3.Working set:指这个处理的 Working Set 中的当前字节数。Working Set 是在处理中被线程最近触到的那个内存页
集。如果计算机上的可用内存处于阈值以上,即使页不在使用中,也会留在一个处理的 Working Set中。当可用内存降
到阈值以下,将从 Working Set 中删除页。如果需要页时,它会在离开主内存前软故障返回到 Working Set 中。
4.Processor/Private Bytes:指这个处理不能与其他处理共享的、已分配的当前字节数。
数据库的等接着补充。