在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。m#Au*EV,DD0分析原则:51Testing软件测试网o~8E{S(^2~9Os
51Testing软件测试网zmj_1QEP• 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)
)uv#L9^L s-@z051Testing软件测试网Q,IB@8N O@M I• 查找瓶颈时按以下顺序,由易到难。
z
ka PtMk051Testing软件测试网m`+[~#Wq U 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)51Testing软件测试网!O
^8g},p
sAJu
51Testing软件测试网Vh7A-Tf"q 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。
#B9y G
`l3s051Testing软件测试网-bO-B(C\c|• 分段排除法 很有效51Testing软件测试网`#N,AD k'g
51Testing软件测试网[5PJ
Fb,wj分析的信息来源:
/_;pzy2b8A$?j/@051Testing软件测试网
g{ gRD,Jq)Y•1 根据场景运行过程中的错误提示信息51Testing软件测试网;j"L1O5^TM
51Testing软件测试网?*TGW!s#N.G%NayZ*`•2 根据测试结果收集到的监控指标数据
.[ sRv#]"{tx4\^$A0H
`:mr,bna0一.错误提示分析
1]3m)^1j
Z q06V$R&JOg0分析实例:
1H}D/]S0atv051Testing软件测试网G[x:Nt2E1 •Error: Failed to connect to server “10.10.10.30:8080″: [10060] Connection
1Y R,SX;X4b!v/q051Testing软件测试网9]3u%Eq0hg•Error: timed out Error: Server “10.10.10.30″ has shut down the connection prematurely
#ZJ5^bzk0z+}8@{gaS0分析:51Testing软件测试网yjJhs"SXk:}B
51Testing软件测试网9Y*C-uMX'z•A、应用服务死掉。
`5T%AhHE9qc#_0)iuz)b
~pPBT'n0(小用户时:程序上的问题。程序上处理数据库的问题)51Testing软件测试网Ol6^s(n]F
p#U p,|`"|Rb/Z:F&H0•B、应用服务没有死
Ekm(S LK$}R051Testing软件测试网2t1FW+bC%MX8}%v&`(应用服务参数设置问题)
.Jc/Z6T3UvM
Q^#H0!`9^/CI(|0 例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%51Testing软件测试网eU)jz*o7K9oANF*y9W
51Testing软件测试网W|_^&Ix]"r0y•C、数据库的连接
Up} jT R9`0,\VrdDQ.?0(1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))
rs&\M W|CFH(h0+VEEVUZ02 Error: Page download timeout (120 seconds) has expired51Testing软件测试网6\TS"mI8\ f
51Testing软件测试网.M;}
t!tZcq)i J
E2JW分析:可能是以下原因造成
O
t$i F&Io|h051Testing软件测试网\Ry-FC8FvF
z•A、应用服务参数设置太大导致服务器的瓶颈
f#Rh~6NhJ)B
l051Testing软件测试网O
yXcbs•B、页面中图片太多51Testing软件测试网?w.U'mzG
Y
t;j$y
SA _.D:s0•C、在程序处理表的时候检查字段太大多51Testing软件测试网 ?r D%g+b6fC/b9`
51Testing软件测试网\Y4OVP-B?y二.监控指标数据分析
ae[{u?p051Testing软件测试网-ws-{0u1mV4X!i1.最大并发用户数:
'Qsjb?#nW(j051Testing软件测试网5aa U&j eAK F应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。
yU |,O"q(f'O0:`*{!m0E%@$Wu0 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。51Testing软件测试网'm-N y:^;{:n`;c
%J6tY)H@;i0 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。
(P}+X'IlX u u"j&P0|i0c*L5A]V02.业务操作响应时间:
q
Yb0nO0yaN)[A(GR.M0 • 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。51Testing软件测试网&?R
|/I;_Le
51Testing软件测试网0hP.gO(Lh• 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?51Testing软件测试网y;bZ
^t?5nb#I
+ic2|$jS4u,Uv5A0• 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题
_ z-^0ysq:U09x'S y(S9j;m03.服务器资源监控指标:51Testing软件测试网3N V(erdp"[!k
51Testing软件测试网Ft
U yR
h)U
RN.k内存:51Testing软件测试网u1IUJSc.M
q
51Testing软件测试网%jq6?C!Ez!T1 UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。
%Y2|6P%Cn
@-Q0-t&?(D!kn^02 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。
a z|y5T5t0/js jc
}0内存资源成为系统性能的瓶颈的征兆:
n
d(K|l v?h0qe8j'|
c*J0很高的换页率(high pageout rate);51Testing软件测试网9^~6zU[%o(o0^:C
V0k)?
\c7LG;M0进程进入不活动状态;51Testing软件测试网:?+p
O$qhB#Sh
f8n q2E
u-t~c*k;]$s0交换区所有磁盘的活动次数可高;
M
Z9mL J0