影响性能测试结果的因素

上一篇 / 下一篇  2011-12-13 10:54:53 / 个人分类:性能测试

对于性能测试,经过1年学习,从开始的理论学习,到项目实践,个人觉得做基于WEB的性能测试结果会受到很多因素的影响。本人性能测试的所用的工具是LoadRuner 9.5。下面都是基于这款工具来谈的。51Testing软件测试网$T,Jzf1AeA1Y$uZ

  硬件环境:51Testing软件测试网"D!`RgX1JD@id

@L$a _nO*\0  1.服务器51Testing软件测试网8@Dp#U\4y

51Testing软件测试网 YX mr|;]#d

  2. 负载机

~(m4r)Av0

LrVL-k:I~O/~-wC0  3. 交换机和网线51Testing软件测试网Fdc8Y U9Iz

*mb*^*y$}c0  4. 人51Testing软件测试网1F ^!IcP#OSW$_

51Testing软件测试网-\h8@ T:cm/kHeX

  软件环境:

%^-L6U'WpSwp051Testing软件测试网ZzWrm&J Q~%o&D

  1. 网络

U]qXX$F6u6{7~@051Testing软件测试网`WcFJ jk

  2. 测试脚本51Testing软件测试网 gG0X[z2j*[nDe

_#^q'H w0  3. 场景设计51Testing软件测试网7l tB(h KkLx&D'FC9g

%u!H:@+e1pe0L|0  4. 场景执行

7hwX7aJ6{0

6l;DCY4y_0  系统基础数据

2b#Vr3`7a8p|#yAK0

)Cwd9{1|0  1. 测试数据51Testing软件测试网Cxf-};duj

51Testing软件测试网C?,Y I[u,j

  故总结如下:51Testing软件测试网UI1s8@/m

@.^*[-Pb`B]0  测试环境:包括硬件、软件、网络、测试脚本、场景设计、场景执行、系统基础数据、测试数据。51Testing软件测试网F!{ zry3`x

51Testing软件测试网8O1O8{y$}8B [

  注:测试脚本、场景设计、场景执行 应该以性能测试需求为准则展开执行。

3z-G2\%|(}`%Q*w0

y9F~T,Z-r0  下面详细分解:

p sg7~8CC^#{051Testing软件测试网$l$wp Wf~ayu

  硬件环境:

(t2s/X\ f051Testing软件测试网t,j YFDh

  1. 服务器51Testing软件测试网|9c5u2B-OQJB;u

5}#C4]'zUON-|0  硬件配制要尽量接近真实环境。如果你们项目运行的服务器硬件成了瓶颈,最好将WEB服务器与数据库服务器分开部署。这样才能定位问题。

2u8D/c#N;D ~eL0

AL }MG(|4_0  2. 负载机

0j IZ#l@q{7A051Testing软件测试网P3Lr0EP e U

  测试机的配制也要好,在场景执行时,负载机最好选择已经安装了负载程序(LR中的一个插件)的负载机,最好不要使用localhost。当然如果你的个人机器配制很高的话,另当别论。负载机主要任务就是创建诺干线程或进程来执行脚本,来达到模拟虚拟用户的目的。一般一台负载机开100到300个线程就可以了,不要再增大。如何你的测试场景虚拟用户达到1000至10000.那你就要多准备几台负载机。51Testing软件测试网/\lzN8W]

7VN"m7hn0  3. 交换机和网线

y!NRlV `0

}6VSDxO:u"f0  一般我们的性能测试都是在局域网中进行,相信没有谁会在共网上进行,嘿嘿!

6mn0` e5d {"t051Testing软件测试网2E,HqoLaM,ck3ic

  有些项目性能测试的网络吞吐量相当大,100兆的交换机有时会成为测试瓶颈(在这上面我吃过很大亏哟),总之,测试环境就应该在1000兆交换机下进行才最好。51Testing软件测试网+n4Hqm$YC5c(e*I&S

-p8h \Ak"\ TR04. 人
51Testing软件测试网-X"}x)m#]0g'h f

%uwk"V5Kxu v0  嘿嘿,我开个小玩笑,人这个硬件也是最关键的。

,r\`Ze6Q0F r051Testing软件测试网f/w#H#sW0I

  A. 理论一定要过关

-yI$az1j(A&D7j5Yp1V051Testing软件测试网Dn'A'xw

  B. 测试过程中一定要保证瓶颈出在我们的程序,如果是出在其它地方,而你却出报告说:程序有问题,开发人员会骂你的。

ft6Z){d3jxh;v8g051Testing软件测试网qo3q MG/G

  C.对整个过程进行测试有效性分析,测试的过程都无效,结论就不用提交了。51Testing软件测试网,gY.m4]7J(tV#P%fiF

51Testing软件测试网5v.LW[-~?(wy'Xjp

  软件环境:

X6j_4~$b)N051Testing软件测试网Y? T5sr |

  ●       数据库配制

!KO"r\2vv4?051Testing软件测试网,Z0s"_3o N0Z4ML

  ●       数据库连接池配制51Testing软件测试网P#};Tr A0\%_:YJ

tp(B%c:P'e_IPo0  ●       Web服务器配制51Testing软件测试网 p#XIB1`([

51Testing软件测试网eb\9F(C

  ●       JVM与GC配制51Testing软件测试网 E!L$rhC)U(G

vZp r!l]X&W0  ●       本身项目配制51Testing软件测试网;}@(V g`C'e0pC

51Testing软件测试网p(jx+v+M%Y

  软件环境重在是配制,配制需要注意的地方是个大学问哟。51Testing软件测试网_%d*S+G#]4]m'z,v

+~Z zAvJ+B0  网络51Testing软件测试网&OY G@@ `;D!|

51Testing软件测试网"`D9S;d!A3] F

  网络注意的地方在上面的交换机那块已经谈到,另外在加一句,测试环境(网络)最好独立。51Testing软件测试网;I.i O7pX3kBE

/zU*B^k6\+Za0  测试脚本51Testing软件测试网&P,Y.T@'[2\F

51Testing软件测试网%fj Kk[Y~

  测试脚本主要注意:A、选择系统最常用的功能进行录制脚本、不要遍地开花,其实一个系统需要真正录制脚本的地方没有几处。B、测试脚本的有效性,测试数据要尽量接近真实。不要认为执行没有出错,我这个脚本就算成功了。执行一次后,要确定的确对服务器产生了影响,才算成功。51Testing软件测试网9h:?&];H&H'^f

51Testing软件测试网8cd|;m$j;s

  该参数化的地方一定要参数化,还有什么关联、检查点,日志、思考时间、步进、IE缓存、连接超时、下载超时 等等设置。

,|vco R;M0

#o6Ah,Z4G3f^0  注意:

y [9u N9rM$aq.l0

~0R"Z*U b`0  在调试时,日志开启。调试通过后进行场景执行之前把日志去掉,因为日志会影响LR本身执行脚本的效率。

Vt,q9Fm `.`0M0

\/r.B.dPZ0  “思考时间”、“步进” 该加一定要加,不然对服务器的压务太大,也不符合真实情况,达不到测试效果。

dJBW4\U ]0

YLq [Z^0  场景设计51Testing软件测试网 jld Y1vX@WbL2M

51Testing软件测试网AH"^\E+B MYi

  场景的设计是最不好把握的,单场景、组合场景、加压、持续时间(注意与迭代的关系)、集合点的释放原则、需不需要进行IP欺骗,负载机需要几台(根据上面的负载机解释进行准备吧)等都需要注意。51Testing软件测试网%l9^tVM(a D8_4W{(x]
51Testing软件测试网:n@'if/^m| x8~5I
场景执行

xSR.i%c+MA:e051Testing软件测试网v^o8lS!T

  场景执行当然很简单了,点一下按钮就行了,嘿嘿。重在执行时,对测试的监控。监控时也可以反应此次测试是否有效。总之,测试的有效性分析贯穿整个测试流程

J"l p+o&_0

B+H^$g+m9ZzCM0  特别说明,不要为了监控而去监控。那会花费很多精力,并且还得不偿失。51Testing软件测试网!VGN]|+L

51Testing软件测试网!x&R1to0g

  例如:我的web服务器有8G的内存,我现在做10个用户并发登陆,在这个过程中我去监控内存的使用情况,这是不是有点多余呢。那我们什么时候进行监控,该监控什么对象呢!51Testing软件测试网3Cs:CB'V2]

51Testing软件测试网_3Y'tX,|T*?O

  一句话,要有怀疑精神,你估计什么地方出现问题了,就大胆的进监控吧!并不是监控越多越好,监控本身也会消耗很多资源,会很大的程度上影响测试结果。51Testing软件测试网']E~4?+H{J0YF`v

0oU(mMu%IJ0  例如我们公司开发的项目主要是基于JAVA,在测试时,发现程序代码有问题而导致内存泄漏,于是用Jrofiler进web服务器进行监控,这时我做性能测试,发现什么操作都很慢。解决问题后,不要Jrofiler进行监控,操作都是相当快的。51Testing软件测试网GL/w#bH$Ssce

yue gX k B0  系统基础数据:

&T I A@\Bgse;\/X051Testing软件测试网)_a{%jZH?1QE)gB

  一般基于web的服务的用户数都具有不确定因素。数据量往往是比较。如果数据库的设计、SQL语句、数据库配制等等有缺陷,在系统数据量很少的情况下进行性能测试,这些问题将无法暴露,系统基础数据最好准备该系统正式上线后大概的数据量。51Testing软件测试网] Q(Qwk^#b4G9H1V6|

51Testing软件测试网M~ pEb$G

  测试数据51Testing软件测试网'N]LYvD9lK-syV7e R

51Testing软件测试网 B0n/z#g!J7vx

  测试的数据要尽量接近真实数据。

6M%^M1s]0

TAG:

 

评分:0

我来说两句

Open Toolbar