交流经验,享受测试乐趣!!!

性能测试(并发负载压力)测试分析

上一篇 / 下一篇  2008-07-14 17:06:48 / 个人分类:LoadRunner

性能测试(并发负载压力)测试分析-简要篇


|c{lm |Mh/R?0
在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利用测试工具来作负载压力测试,但多数人对怎样去分析工具收集到的测试结果感到无从下手,下面我就把个人工作中的体会和收集到的有关资料整理出来,希望能对大家分析测试结果有所帮助。
PNV]awY1AD0
N6^ Rj+s)aP0分析原则:51Testing软件测试网e {DW|
    • 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)
q `W6E9p+p0Khr"g0    • 查找瓶颈时按以下顺序,由易到难。
J7bC&S2f9Z&c&`F$R0    服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)51Testing软件测试网`1eG8D/})mkI*J+bZ
    注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。51Testing软件测试网:E0T/c1r[T
    • 分段排除法 很有效
JIQ7nb~?0
1i-P @dX'd"z ~0分析的信息来源:
d[$gR#lP;oe:OM0    •1 根据场景运行过程中的错误提示信息51Testing软件测试网}A&}*y}+H:iD#i
    •2 根据测试结果收集到的监控指标数据51Testing软件测试网rW X r)L&Yv9y(NI

,zg!j5u7ezy'G:?0一.错误提示分析
I&Pii iO m0分析实例:51Testing软件测试网p ws4E5v-xJ
1 •Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection
&i:Gq_hg0  •Error: timed out Error: Server "10.10.10.30" has shut down the connection prematurely
W2u`s ~MI0
_K7U ~8||Aj0Z0  分析:51Testing软件测试网 Ls&q&Z&Wu
•A、应用服务死掉。51Testing软件测试网YO;aB E#l\
   (小用户时:程序上的问题。程序上处理数据库的问题)51Testing软件测试网n_B(G2iv1x#vO0b^@g
•B、应用服务没有死51Testing软件测试网Y2z5dV|
   (应用服务参数设置问题)
F_;{7@ r g?7m~0    例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%
2H$X3yVV{s$F6|0•C、数据库的连接
5A ?b3Mb|.[%Y0   (1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))51Testing软件测试网 oE9Z/j ?#v5e(@

&uj$T]y$r7nX:x02  Error: Page download timeout (120 seconds) has expired
$G+^z"L)X,h h8X\z'D%L0
q!e)_q }0分析:可能是以下原因造成51Testing软件测试网v9gL;K%F1~v
•A、应用服务参数设置太大导致服务器的瓶颈
5]!}p2tu3E u0•B、页面中图片太多
pdx&csZ3eB0•C、在程序处理表的时候检查字段太大多
$HU-h$n]I W d0
SE*d}n+y~0二.监控指标数据分析51Testing软件测试网K/_OH L}K1H.CE
1.最大并发用户数:
.HTPZJ&q%F0PE p0应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。51Testing软件测试网`n3B3N;S4Cw
在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。51Testing软件测试网 Z*@(~ q-x?
如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。51Testing软件测试网4[TiX.]
51Testing软件测试网dqs,morh
2.业务操作响应时间:
Q9qU4bP0h!K0• 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
;h(e.u,X@ |'X U8P"J0• 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?51Testing软件测试网/bL?E:Mr%i8fg
• 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题51Testing软件测试网` \#t Q%wj
3.服务器资源监控指标:51Testing软件测试网x(Mt@3Aw`}"CY`
内存:51Testing软件测试网,BA+a6`,JJ`|r@
    1 UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。51Testing软件测试网F[8kw\0~T4fU
51Testing软件测试网FX;x.[zWJ;e&g
    2 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。51Testing软件测试网 VV4k4f5AL$r0Z
51Testing软件测试网&X+W G.P-y
内存资源成为系统性能的瓶颈的征兆:
7[F*E'M6XP$g:|0    很高的换页率(high pageout rate);
#tLy OW7p\9?0    进程进入不活动状态;51Testing软件测试网$B/N!~\{*j7fa9fV!\
    交换区所有磁盘的活动次数可高;51Testing软件测试网 [Ss ]A.o
    可高的全局系统CPU利用率;51Testing软件测试网cJ*QieW&]
    内存不够出错(out of memory errors)
cA0Q7g4n2mn*S&lB0
LA(Y_0K$R'y.J.|0处理器:51Testing软件测试网 S'^ piT1Hn@#N
    1 UNIX资源监控(Windows操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。如果服务器专用于SQL Server,可接受的最大上限是80-85%51Testing软件测试网u-w I O eSW
    合理使用的范围在60%至70%。
+D4I#y?hc4?0    2 Windows资源监控中,如果System\Processor Queue Length大于2,而处理器利用率(Processor Time)一直很低,则存在着处理器阻塞。
O.sx ]uj~5l5j1n051Testing软件测试网X&P;nN%x n^
CPU资源成为系统性能的瓶颈的征兆:   51Testing软件测试网,H7K/kH0_*u`
     很慢的响应时间(slow response time)
saD'ks0     CPU空闲时间为零(zero percent idle CPU)51Testing软件测试网&`9H].o a&iC5Ee
     过高的用户占用CPU时间(high percent user CPU)51Testing软件测试网hCd1`3A ]6hi
     过高的系统占用CPU时间(high percent system CPU)
'{'LP|ev`v9h#|0    长时间的有很长的运行进程队列(large run queue size sustained over time)51Testing软件测试网&j&Sy7C\9r

+MQ(T5{$Z0T0W!I0磁盘I/O:51Testing软件测试网 B'G$G)l5yEp
    1 UNIX资源监控(Windows操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。51Testing软件测试网3ayBJGr0lt
    2 Windows资源监控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。
U)` B5|IuE0
#p,VT&oU0I/O资源成为系统性能的瓶颈的征兆 :51Testing软件测试网#rRwV1pao8N6NC*~
     过高的磁盘利用率(high disk utilization)51Testing软件测试网4S|(J[c0S?
    太长的磁盘等待队列(large disk queue length)51Testing软件测试网n ~k;U7R2DS$W {
    等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)51Testing软件测试网9Gh,h8RY
    太高的物理I/O速率:large physical I/O rate(not sufficient in itself)
{8F l!M2Y/A,}x A0    过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself))
9D/y:TWX/s4L"`XS0    太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)51Testing软件测试网.MzS&p;l5Ts
51Testing软件测试网2D*y wl4` U
4.数据库服务器:51Testing软件测试网6oq'A:o5G8T
SQL Server数据库:
)LUYIY U] ^ U0    1 SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。51Testing软件测试网\D clfM_7L
    2 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。
`Ol7|3E-YrZS Y0    3 Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。
0R K1GL"]6h0   4 Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。
n r*h2o6je^~0
q%})R.h4iM(o:^#P [0Oracle数据库:51Testing软件测试网+l%d(c7KLBvx
  1 如果自由内存接近于0而且库快存或数据字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。
_F_\{2nW(`0    快存(共享SQL区)和数据字典快存的命中率:51Testing软件测试网+z$_+gd b w m
   select(sum(pins-reloads))/sum(pins) from v$librarycache;51Testing软件测试网-[a&r:DB%q
    select(sum(gets-getmisses))/sum(gets) from v$rowcache;51Testing软件测试网bo:|lB
    自由内存:    select * from v$sgastat where name=’free memory’;51Testing软件测试网JW'P:S ^ c
2 如果数据的缓存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS参数的值(单位:块)。51Testing软件测试网(cxqK ws4p"O
  缓冲区高速缓存命中率:51Testing软件测试网Jvk a'zC$YE%Jf
    select name,value from v$sysstat where name in ('db block gets’,51Testing软件测试网m7y2c"FG+{
    'consistent gets','physical reads') ;51Testing软件测试网S$[7WS A\m
   
Pw!Ma|#p+D0    Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))
k:e"k8\-[\8q5C03 如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。51Testing软件测试网RK B,aB;[6r
    日志缓冲区的申请情况 :51Testing软件测试网OCC-~z-z*O9J
     select name,value from v$sysstat where name = 'redo log space requests' ;51Testing软件测试网7|$BAnn(` ZP[
4 如果内存排序命中率小于0.95,则应加大SORT_AREA_SIZE以避免磁盘排序 。
}!^ u3WH4f.g0   内存排序命中率 :
.\i+N(}tZ0     select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name='sorts (disk)' and b.name='sorts (memory)'51Testing软件测试网#qw#z%[9i5Yo)KW
   
Q;vO;d$n B T$]0dor0    注:上述SQL Server和Oracle数据库分析,只是一些简单、基本的分析,特别是Oracle数据库的分析和优化,是一门专门的技术,进一步的分析可查相关资料。

TAG: LoadRunner

 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12369
  • 日志数: 22
  • 图片数: 4
  • 建立时间: 2008-06-13
  • 更新时间: 2009-04-30

RSS订阅

Open Toolbar