啸:呼啸;瀚:浩瀚。心胸要宽阔,犹如浩瀚的沙漠;沉默是金但是要记住,沉默是为了推翻一切,淹没时间的不公不正,像呼啸的暴风雨一样势不可挡。

转:有关性能测试结果的几点分析原则

上一篇 / 下一篇  2009-08-14 15:37:20 / 个人分类:性能测试

C!E+h]j7E5HFH0性能测试结果的分析原则:51Testing软件测试网-G SZ:k A-h o }

(h(}scz3@0具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)51Testing软件测试网K.\&~/kxg!G

51Testing软件测试网 A'{MwS'c\vk

查找瓶颈时按以下顺序,由易到难。

!Lz&E j%q~)y051Testing软件测试网4t*C.[l#z U-r _

服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)51Testing软件测试网1o0uJKtm/QL\/P

51Testing软件测试网GZ ]b M:x2I+\

注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。51Testing软件测试网r6r{+A$@X

T'k'BACtJ$[0性能测试结果分析中,分段排除法 很有效

){Ms.ufarxH|&t0

{]%}v D0分析的信息来源:

9[CH K\{m0Y0

y:u `$QP~-z M4{01)根据场景运行过程中的错误提示信息51Testing软件测试网sG7[2] ~+~Hu

#m"\+?c!](o02)根据测试结果收集到的监控指标数据51Testing软件测试网L)rT/PJt6V

51Testing软件测试网$hv9T,n?YLC,I!i"\+L

一.性能测试结果的错误提示分析51Testing软件测试网%C"s2bp,n

,bsH#R k{+r0分析实例:

G/H} ]AP051Testing软件测试网{~/M$TBF*fS"t

1)Error: Failed to connect toserver“payment.baihe.com″: [10060] Connection

+wPd S5h051Testing软件测试网5W|[#W#~O[j

Error: timed out Error: Server “user.baihe.com″ has shut down the connection prematurely

hqkpN:o1NG.uC0

*yBY7TA x}0分析:

a1n_'Uc0

+~9wsX%@ ^ ]Hjv0A、应用服务死掉。51Testing软件测试网#uaj%FX&JGu

51Testing软件测试网\SvW{

(小用户时:程序上的问题。程序上处理数据库的问题)51Testing软件测试网lYs4^%~oY y5D

51Testing软件测试网 kec2@ t"Ou*IR

B、应用服务没有死

cJ:Ck'uh l[0

8I {Oa(v/tm!}0(应用服务参数设置问题)

1j8Bkb ck051Testing软件测试网WSc.y$x

例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

RE4y.b"J/}!yqO0

"j-O,qR;X;{m Z0C、数据库的连接

1@ jNKd$_ |S0

"?s Xn H$NuV0(1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))

7qM5b:~*J2E!Mw g0

4^t iw tP2R0i*O02)Error: Page download timeout (120 seconds) has expired51Testing软件测试网 D#vFh)FwBs2Q:L

51Testing软件测试网!QRIf8e8Q3Oa4G

分析:可能是以下原因造成

g)yl.n(W5J%QJ051Testing软件测试网 NK"MqY9FY

A、应用服务参数设置太大导致服务器的瓶颈51Testing软件测试网l7s-A!{2e*kc4n }

51Testing软件测试网 d1TCgt H9C

B、页面中图片太多51Testing软件测试网X$fS jz

51Testing软件测试网1c-]#jQ:Qw7WoE_

C、在程序处理表的时候检查字段太大多51Testing软件测试网/z*}-h#S-In(B/o$h

51Testing软件测试网R,?&l] G@!a{ t3a

二.性能测试结果的监控指标数据分析51Testing软件测试网S0kl2ZM2]{5DE

y i]`Rm01.最大并发用户数:51Testing软件测试网4RvduQ2Dv7^

51Testing软件测试网F9_['Jl7|0u#e

应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。

)c H@g Q[Pp5mz0

4YE%`/l%o0在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。

DZ!O9mkP^0

ddr,h&Og0如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。

\ A;p f;tn0

5cT,N7gd02.业务操作响应时间:51Testing软件测试网jZ)u Ri

51Testing软件测试网+l:L9n(O Bh8Xk

分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。51Testing软件测试网@^7A.G%Q"B6~G

51Testing软件测试网6eR7@(j:Uw

细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?

F-e-i"Y2u$m6s$?#y,`8a0

vq w&c+a\vYe U0如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题51Testing软件测试网4p%o$?Hqh

-|w M%K*j02-5-10原则:简单说,就是当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求

aA4DUz4fb:U,L'p0

CC/\w)I%q6Kqa03.服务器资源监控指标:

i p4X[PC? g @0

&SO-H%L9q3RQ0内存:

q^9Sa:d$@QS0

LN\)v[ | GR f C e01)UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。

@W7QJ,mD'I`\E1i051Testing软件测试网 g5[wu6C$G5dv

2)Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。51Testing软件测试网D(eNh~g0h7q` |

.KsD(@ NjLw @"S0内存资源成为系统性能的瓶颈的征兆:

.N%I$Q i#}3L$}J3G A0

w%C3e:T3f0很高的换页率(high pageout rate);51Testing软件测试网\?:Xk#S8?

51Testing软件测试网%Fi4j M#FP)B

进程进入不活动状态;51Testing软件测试网5Q$v5`W:Bd

51Testing软件测试网Cn9h|9ftg(w

交换区所有磁盘的活动次数可高;51Testing软件测试网9NR.V \/G/Z \7?

51Testing软件测试网qv*s7q;vb0|

可高的全局系统CPU利用率;

ALp#|s+p051Testing软件测试网 k~6r mviU,Z

内存不够出错(out of memory errors)

C}YlB!B&|0

H1Car"D3`6W*IT0处理器:

.fZ,t8b JG$E6@3Nm0

VK-\y3}a01)UNIX资源监控(Windows操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。如果服务器专用于SQL Server,可接受的最大上限是80-85%

\:`+b%xqe.|051Testing软件测试网I$}!D8[hc

合理使用的范围在60%至70%。51Testing软件测试网\%{+{M/l^5S

51Testing软件测试网/M}+~CX n9v6It+s

2)Windows资源监控中,如果System\Processor Queue Length大于2,而处理器利用率(Processor Time)一直很低,则存在着处理器阻塞。51Testing软件测试网_\S8i2r2b(}k

-T{6M;G4x:u0CPU资源成为系统性能的瓶颈的征兆:

9I6g6NPw'bg:H2o051Testing软件测试网W4Q5J5zhW.vt4\(C

很慢的响应时间(slow response time)51Testing软件测试网+Iw0X2pe'X-b

1G!c1\#MOV:|0CPU空闲时间为零(zero percent idle CPU)

tp5@C-v#wV0

'C4op1`It+~+^0过高的用户占用CPU时间(high percent user CPU)51Testing软件测试网+F:C6[U9e J+\H5I+s0T7uo M

h?,p ^E@ro}0过高的系统占用CPU时间(high percent system CPU)51Testing软件测试网,o+[GZs8|

51Testing软件测试网n g?+v9Z,O f

长时间的有很长的运行进程队列(large run queue size sustained over time)51Testing软件测试网$^'~4bK cQ?$f*Of"d8x

._]7l([L X0磁盘I/O:51Testing软件测试网|CrfA$l4LHl

u qX5c1j01)UNIX资源监控(Windows操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。51Testing软件测试网'pZ1m3W2H!T]K

51Testing软件测试网+Z K v2~4K_4z

2)Windows资源监控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。51Testing软件测试网6CT].Be7]x

51Testing软件测试网N#PY5F1y

I/O资源成为系统性能的瓶颈的征兆 :51Testing软件测试网6[T%Q\#hv

51Testing软件测试网R ]#YX0dO3b4v)O

过高的磁盘利用率(high disk utilization)51Testing软件测试网7}C.OD8z6C_y L;\

51Testing软件测试网/nR UV*^7g(b%K_.ntYW

太长的磁盘等待队列(large disk queue length)

!D)vX)o]_ ^0

_q`e0A0等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)51Testing软件测试网0lLpN?*vQ4h

#`aj5G(YV@0太高的物理I/O速率:large physical I/O rate(not sufficient in itself)51Testing软件测试网K2N6sP:N!F7?R l!b

51Testing软件测试网GXaEu1V/T{"}!j

过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself))51Testing软件测试网C A3MI l.lW

51Testing软件测试网X@W[jtc,W0m

太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)51Testing软件测试网OX4@ J'F%sW4VYz

51Testing软件测试网[ jlYS4J

4.数据库服务器:51Testing软件测试网!k1D*o5o"C0ezF

0z iE.DG0SQL Server数据库:51Testing软件测试网oH9J"V8tz3m+X

Uc$D9z-N a2~7M01)SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。51Testing软件测试网V9M$o? [R

:L)y @!t4]4lj7Y02)如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。51Testing软件测试网Q~*jB-W Yadu

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

0B|+~ w$n @ m051Testing软件测试网,h\Wm5}*e

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

,Sy3C;h-fq.{^051Testing软件测试网I$vev-pm

Oracle数据库:

;{nD"s)C)m!D051Testing软件测试网7H1K!Y!u2| j v)m

1)如果自由内存接近于0而且库快存或数据字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。51Testing软件测试网z;@O9mHd-p-R+c4_4Bx

M-`K;nV$^tt0X+j02)如果数据的缓存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS参数的值(单位:块)。51Testing软件测试网0j+_+@Tt7Z` e

51Testing软件测试网e mRUlmF

3)如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。51Testing软件测试网#_L7Nd e(EJ:D

&[6J)C[9T z04)如果内存排序命中率小于0.95,则应加大SORT_AREA_SIZE以避免磁盘排序 。51Testing软件测试网 T"F O b9n4es+p


TAG:

 

评分:0

我来说两句

Open Toolbar