十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

LoadRunner监视的性能计数器

上一篇 / 下一篇  2007-09-10 10:23:55 / 个人分类:测试经验

#K S5I2}J!h*l0今天,我先把我整理的一些计数器及其阈值要求等贴出来,这些计数器是针对我对windows操作系统,C/S结构的sql server数据库及WEB平台.net产品测试时的一些计数器;大家可以继续补充,作过unix平台上oracle数据库测试及J2EE架构及WEBLOGIC方面测试的朋友,也希望把自己使用的计数器贴出来,让大家分享。51Testing软件测试网0Ab0TU@'II

O N2iJ;F1_6e L0好了,先说这些了,希望通过这个专题,最终能让大家对自己的测试结果进行分析。51Testing软件测试网0ck'n*m,~ q(P7T8a

vhAF8A0Memory: 内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 2000 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:51Testing软件测试网 M V3ge|7h2WF

4C"Mzd3lW4E]o%y/C4m0Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。51Testing软件测试网J5EC4Co

Y L8D^5cA0page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。

srda4v0

0T*z/nf5_(Z(I0page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。51Testing软件测试网"}-DI7vl G\W

51Testing软件测试网 oW%k9}y|;f

由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:51Testing软件测试网%cozT.qZ6RSMS
Physical Disk\\ % Disk Time51Testing软件测试网Ob)zf"L g-w.]
Physical Disk\\ Avg.Disk Queue Length

X@9JX B4R051Testing软件测试网zP!EGh

例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。

D~:x2Q |V4A051Testing软件测试网 |[Y!N w9d.J:g

要确定过多的页交换对磁盘活动的影响,请将 Physical Disk\\ Avg.Disk sec/Transfer 和 Memory\\ Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。51Testing软件测试网 KR SRn#~M9O(~~m

3At MZ1K_"[jr0Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。

+GmKg `C*h3Z051Testing软件测试网]F8D A8`(]5zLs Z

Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化

?L [+A#d%l051Testing软件测试网'b/~ wW&SM!bT.}

如果您怀疑有内存泄露,请监视 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。51Testing软件测试网Z4b m3] h6i&`.x$mS

EqX1DT]v.g y5M1Z0Pages per second :每秒钟检索的页数。该数字应少于每秒一页。

2J e KV4d8_$c0

6p6GU)A/l2l3d'mS0Process:51Testing软件测试网9W;q0R5bM:ubn }n

51Testing软件测试网o3^0r4Yq1B,O d Fty

%Processor Time: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%

{*i7in7YS5t0

b2o%K3xoc$mP/N6ubt0Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。

U:GR W0D051Testing软件测试网+g6K%l b ]3| M+Y_

Work set: 处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。51Testing软件测试网jC R\W7{?N

51Testing软件测试网 Ve JNvY

Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

Ay|2RR_ X]Z0

8s| _e k)RX+d'k0Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。

/H+?%B"Gt)`051Testing软件测试网1k%C*]EZH7@

%Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

%av~!^}0

jT7v:^4i0%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

o8ay i gMI5]G051Testing软件测试网4?-RNL k/R7W5w

%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。

&a9k"LiS{?051Testing软件测试网O5rZK b;D

此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues\\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。

rLo?q9T%H{051Testing软件测试网5N2m#{Q!O!y;lJNP

% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。51Testing软件测试网#}(mWc f}7r IjS

le `*O^O-m h0Thread51Testing软件测试网] E{Z4L

51Testing软件测试网})A dV-K

ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

_ |C!`&{js051Testing软件测试网7L:qS,om

Physical Disk:51Testing软件测试网.s0x C q#pc

51Testing软件测试网H)h1q Ex`

%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只51Testing软件测试网OV0M4ZM AS!JK5v

V1[_)Va;?a0%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。51Testing软件测试网w3lK5Zr

8IAd.{\1b!? yw#j0Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。51Testing软件测试网DZL~GI

O]0\1Qt0Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。51Testing软件测试网0H'Z(ZM6p/v

51Testing软件测试网0o{7k5Y7dz9t

Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。

+}t `q.T051Testing软件测试网'qGs.Q8B!q2v6m

Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。51Testing软件测试网6\)@+mv9x2D/k!R

51Testing软件测试网jz"L'uq$N {\9O

Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。

!Xg%FIRMv/m051Testing软件测试网w{Mv\Uk&W!Q

Network Interface:51Testing软件测试网z'Z\YN5}.n*X2f

y I*s V.~2m9E-b0Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较51Testing软件测试网M,hIH:PR*~

51Testing软件测试网S&O*Ot Q

SQLServer性能计数器:51Testing软件测试网1T7wg]P

MF`G}6Ao0Access Methods(访问方法) 用于监视访问数据库中的逻辑页的方法。

+b}yO NLP0

P^1@v7l7mP:o0Full Scans/sec(全表扫描/秒) 每秒不受限的完全扫描数。可以是基本表扫描或全索引扫描。如果这个计数器显示的值比1或2高,应该分析你的查询以确定是否确实需要全表扫描,以及S Q L查询是否可以被优化。51Testing软件测试网5OSI*p2[W `[R0TF R

!u%YX qN0Page splits/sec(页分割/秒)由于数据更新操作引起的每秒页分割的数量。51Testing软件测试网Y#l[7vZ

51Testing软件测试网!@p^8kfU

Buffer Manager(缓冲器管理器):监视 Microsoft® SQL Server? 如何使用: 内存存储数据页、内部数据结构和过程高速缓存;计数器在 SQL Server 从磁盘读取数据库页和将数据库页写入磁盘时监视物理 I/O。 监视 SQL Server 所使用的内存和计数器有助于确定: 是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。 是否可通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。51Testing软件测试网n [-j;qy4`

g-B\d@8@E-@7X0SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理 I/O 会耗费大量时间。尽可能减少物理 I/O 可以提高查询性能。

T1^/y\wB$NE#^&m0

E9fY{:Q F0.Page Reads/sec:每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。

f9Y#q&um0

qo9l7\Q}_0.Page Writes/sec (.写的页/秒) 每秒执行的物理数据库写的页数。51Testing软件测试网!l'oKRS$Iz vi

'p%u4veuW.I)ks0.Buffer Cache Hit Ratio. 在“缓冲池”(Buffer Cache/Buffer Pool)中没有被读过的页占整个缓冲池中所有页的比率。可在高速缓存中找到而不需要从磁盘中读取的页的百分比。这一比率是高速缓存命中总数除以自 SQL Server 实例启动后对高速缓存的查找总数。经过很长时间后,这一比率的变化很小。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加 SQL Server 可用的内存数量来提高高速缓存命中率。计数器值依应用程序而定,但比率最好为90% 或更高。增加内存直到这一数值持续高于90%,表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。

|,JoCE7t.B051Testing软件测试网k`!FGoG E&X8I

Lazy Writes/sec(惰性写/秒)惰性写进程每秒写的缓冲区的数量。值最好为0。

*k#@8X U*o:Htr$e9vy051Testing软件测试网-?P"s ^7|,Z

Cache Manager(高速缓存管理器) 对象提供计数器,用于监视 Microsoft® SQL Server? 如何使用内存存储对象,如存储过程、特殊和准备好的 Transact-SQL 语句以及触发器。51Testing软件测试网C;~0f Ad6@

n|b*dSm~}P6nb0Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。51Testing软件测试网9XI$q'^.M {B,X&Wi

51Testing软件测试网'f hRd:k PHsJ

Latches(闩) 用于监视称为闩锁的内部 SQL Server 资源锁。监视闩锁以明确用户活动和资源使用情况,有助于查明性能瓶颈。

O/tM$T\DC051Testing软件测试网/}V$Q/VK

Average Latch Wait Ti m e ( m s ) (平均闩等待时间(毫秒)) 一个SQL Server线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。51Testing软件测试网,Oq&nV;zd'z v&o'}

51Testing软件测试网+{*f!]5u/JY

Latch Waits/sec (闩等待/秒) 在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。

!Fe?1L+L!s L*sQzj051Testing软件测试网M&H-j {Ow\

Locks(锁) 提供有关个别资源类型上的 SQL Server 锁的信息。锁加在 SQL Server 资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。例如,如果一个排它 (X) 锁被一个事务加在某一表的某一行上,在这个锁被释放前,其它事务都不可以修改这一行。尽可能少使用锁可提高并发性,从而改善性能。可以同时监视 Locks 对象的多个实例,每个实例代表一个资源类型上的一个锁。

h(P&{mBa2EU&m}}0

g3g6]!I8F&I3D9bps)z0Number of Deadlocks/sec(死锁的数量/秒) 导致死锁的锁请求的数量

9Ah"K7UA&v@"n Q J0

+oU)q5\/q,`0Average Wait Time(ms) (平均等待时间(毫秒)) 线程等待某种类型的锁的平均等待时间51Testing软件测试网7e7bgMom9p

(BNy}S#?\v0Lock Requests/sec(锁请求/秒) 每秒钟某种类型的锁请求的数量。51Testing软件测试网9yP6m"g0Eq4s(O

$K/D9o:|:D4? Si9@ uM5}0Memory manager:用于监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 实例所使用的内存有助于确定:51Testing软件测试网 x:MyL"Pp/w"p

51Testing软件测试网 l kww#}"_%?v

是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。51Testing软件测试网(nT5X:E!`-g

@w-r-l8}j{!E0是否可以通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。

1t T\,[t9Zl'Q*Th051Testing软件测试网iK0Y6a }IY9z3`q RZ7cz

Lock blocks:服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。51Testing软件测试网-OPB#hP|'[

*RQmZ#|xy(x,W0Total server memory:sql server服务器当前正在使用的动态内存总量.51Testing软件测试网~oW'q.I T

51Testing软件测试网'~*P?&H3A@)T

监视IIS需要的一些计数器51Testing软件测试网!l r9g_2K6eJ

BLQ.j I4Vy&dW0Internet Information Services Global:51Testing软件测试网 ]W#|$[.gYW

51Testing软件测试网(K M1ZAi+mLv

File Cache Hits %、File CacheFlushes、File Cache Hits

|v+s1G lv051Testing软件测试网{&k$Lt6io4F

File Cache Hits %是全部缓存请求中缓存命中次数所占的比例,反映了IIS 的文件缓存设置的工作情况。对于一个大部分是静态网页组成的网站,该值应该保持在80%左右。而File Cache Hits是文件缓存命中的具体值,File CacheFlushes 是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过比较File Cache Hits 和File Cache Flushes 可得出缓存命中率对缓存清空率的比率。通过观察它两个的值,可以得到一个适当的刷新值(参考IIS 的设置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)51Testing软件测试网6\lw(G uFmI'bC

51Testing软件测试网vcH%q0hWx

Web Service:51Testing软件测试网 SD.u#V.sYB1paNfJp

51Testing软件测试网qrF#I6o^ Y,S4~Y&sj

Bytes Total/sec:显示Web服务器发送和接受的总字节数。低数值表明该IIS正在以较低的速度进行数据传输。51Testing软件测试网c(A?Cx

51Testing软件测试网cx6Ws n

Connection Refused:数值越低越好。高数值表明网络适配器或处理器存在瓶颈。51Testing软件测试网C{z|9L@;W

51Testing软件测试网sGKhGBQ

Not Found Errors:显示由于被请求文件无法找到而无法由服务器满足的请求数(HTTP状态代码404)

[[)iG6z6D)?0

TAG: LoadRunner 性能计数器 测试经验

 

评分:0

我来说两句

Open Toolbar