在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。51Testing软件测试网T#N(H"~7q9A?7H['K分析原则:51Testing软件测试网4c6drg&[ A0Z\
51Testing软件测试网 x6])vQ}"r• 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)51Testing软件测试网 [1|$Vk6jH'a(of
51Testing软件测试网S8Zr:V9{o• 查找瓶颈时按以下顺序,由易到难。
]fE(z:q4M/g%|~051Testing软件测试网z%~J3jEv_ 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)51Testing软件测试网(lH3X
B([
51Testing软件测试网e`D"n-|b2U0O*yL 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。
$\"S {v!h_h)Sgn0+o-nosL};AHK0• 分段排除法 很有效51Testing软件测试网U+Fq#e.e'VK|
51Testing软件测试网R3Q1p4Ut!pK!D分析的信息来源:
YZk*A^%gl8n
J`0
@5\x!ho}J0•1 根据场景运行过程中的错误提示信息
3D5w/~'V}Q{0 _6|Q0m0?t#wjaH0•2 根据测试结果收集到的监控指标数据
#S0N
p}K"Ss^051Testing软件测试网]iT6j~`l1u一.错误提示分析
*^o.ZI*{\0k5P
S@Xh(Jf0分析实例:
0[3R2UQM} hd051Testing软件测试网"Z(V0Xm3@1 •Error: Failed to connect to server “10.10.10.30:8080″: [10060] Connection51Testing软件测试网)E
V'^[(v[ @*M
51Testing软件测试网I+R`d4@•Error: timed out Error: Server “10.10.10.30″ has shut down the connection prematurely51Testing软件测试网|aW2N0fOyK
51Testing软件测试网3~sVI&_kps&_分析:51Testing软件测试网,rj,wib/{
9I%\~
`F0S(XI0•A、应用服务死掉。51Testing软件测试网%Abp!Zbq/P
:[,_^em'a.V
?0(小用户时:程序上的问题。程序上处理数据库的问题)51Testing软件测试网UA$J.^#b(VrJX
?]}g@2QQ0•B、应用服务没有死51Testing软件测试网on3U%QS'G
51Testing软件测试网1qOL k |}i)f'I(应用服务参数设置问题)51Testing软件测试网6Y2|&{5C,e;e:lc
:X'n ?^1[l^I3Y2v'k0 例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%51Testing软件测试网z V6A5I8s;z[N%|
51Testing软件测试网
Hq s/q6?6HXw1fr7u+R•C、数据库的连接51Testing软件测试网L\(w:d-^E1p0[
^[~1Z3q0~Q0(1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))51Testing软件测试网
{'M*pZHUNvQ!^
51Testing软件测试网 |?/L6E0J2 Error: Page download timeout (120 seconds) has expired51Testing软件测试网TXfmj-wVT3[N7a
JV&^
rO0分析:可能是以下原因造成51Testing软件测试网K?#j-yY#f1Y;C/K
M'eC/Oo1P5D3P0•A、应用服务参数设置太大导致服务器的瓶颈51Testing软件测试网C,jFSac't
{b
p8jWK)o,T/w0•B、页面中图片太多
8H3h!jF)f
Q0cik"v:o9`
^2\0•C、在程序处理表的时候检查字段太大多51Testing软件测试网Lwh
^,Fx&~C_
51Testing软件测试网M+U
v5Rx'B二.监控指标数据分析
_3e/Com00o&~l
M-P+A:Z m)b%b01.最大并发用户数:
5_,Cw FwS#~i
x051Testing软件测试网UtDR:_y:d$o@ g应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。
dq9^!Kg#g051Testing软件测试网Q+d4cm?;bE8bO 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。
;Yy J&DW6g,f%s051Testing软件测试网$iEO}f_YF8^-h#I 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。51Testing软件测试网%oE5oAH
51Testing软件测试网)jvT.VD2.业务操作响应时间:51Testing软件测试网1};Kip
Di5o
?
51Testing软件测试网o7~~+R"w5c G • 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
4FK9C"]%y(D:w$]051Testing软件测试网~rv g1H]5O• 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?51Testing软件测试网/d(S2f"c*P$x;@1t,x
51Testing软件测试网c3a0w-f
Cy0V/G!U+m2E• 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题
e)`8Hh4? E&kjY051Testing软件测试网\ OAa7G-p3.服务器资源监控指标:51Testing软件测试网/}oj#@D
51Testing软件测试网7U1}|:R#wM w-qe-`R内存:51Testing软件测试网!Sa7QA8z)EPH$p
:m0fJ6OE%G01 UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。51Testing软件测试网#C`G'bom)|
51Testing软件测试网0b7Zk#M8Yn0F9c2 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。
kxWMwS/z0? {l_atU-|0内存资源成为系统性能的瓶颈的征兆:
:b9HhU5wL|"?051Testing软件测试网h;?+Rt;b.w.O很高的换页率(high pageout rate);51Testing软件测试网Z"P#d)K;U(Z,F.z
w7_ o)~!xZ7UV&ZW)Q0进程进入不活动状态;51Testing软件测试网%evf5]/X!J^-b:Of7h
51Testing软件测试网g@(o)?~`Q交换区所有磁盘的活动次数可高;
#o7l&DX{9[ps08Q[L HGQ!h0可高的全局系统CPU利用率; 51Testing软件测试网Ar[J+y&t9A
51Testing软件测试网e-S`rv9bt!\y
W内存不够出错(out of memory errors)
d~g;T5w {0