测试之家淘宝店:主营软件测试定制服务 http://shop71136398.taobao.com/ 软件评测试考试论坛:http://www.testdao.com/forum-113-1.html 2012软件评测师考试群:28388329

性能测试中的性能测试指标与用户体验分析

上一篇 / 下一篇  2012-06-03 20:12:36 / 个人分类:性能测试

网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。利用网络应用性能分析工具,例如Application Expert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。可以解决多种问题:客户端是否对数据库服务器运行了不必要的请求?当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?在投产前预测应用的响应时间;利用Application Expert调整应用在广域网上的性能;Application Expert能够让你快速、容易地仿真应用性能,根据最终用户在不同网络配置环境下的响应时间,用户可以根据自己的条件决定应用投产的网络环境。

`,R1b*p[0

1.性能指标标准—网络层51Testing软件测试网'l!f:Y;S gt&E

网络层各项指标对应用户体验的标准为:

,R3z\O d_~%o8Xx0

)WO.{`-`*AC:u4k0

2.性能指标标准—页面层

p.e5{.i/B!W0

页面层各项指标对应用户体验的标准为:51Testing软件测试网G [6Y|4`#oA4k1q

#un:OK!da}'pX0

3.性能指标标准—链路层51Testing软件测试网J:O:w fA

页面层各项指标对应用户体验的标准为:

.dL6ad6G^0

@.e0oSExl)`4`4Q0

通用指标(指Web应用服务器、数据库服务器必需测试项)

6jF b {-?0

m~ UaP p~4qB0

Web服务器指标

1{(GbD:L}0

n9op `)N0

数据库服务器性能指标51Testing软件测试网+x%l x{:S"@i}

-H6n mG@1{UE(v U0

系统的瓶颈定义51Testing软件测试网`0vr8_]:x%u

51Testing软件测试网AJ7W,Y Id q

稳定系统的资源状态51Testing软件测试网\ktTRy(Uo&VHe

s T-qH3D%t0

通俗理解:51Testing软件测试网E5H3{3eo

  • 日访问量
  • 常用页面最大并发数
  • 同时在线人数
  • 访问相应时间

案例:51Testing软件测试网9T j"n7u:Iq~l

最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案:

v?_$MbG;PSU`%|0

一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略)51Testing软件测试网6IA7K$i3Xe,\0x

一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本)51Testing软件测试网{d,b X#` Vh.nGPY.i

一种则需要测试服务器能否接受10万用户同时在线操作,如果是用IIS做应用服务器的话,单台可承受的最大并发数不可能达到10万级,那就必须要使用集群,通过多台机器做负载均衡来实现;如果是用websphere之类的应用服务器的话,单台可承受的最大并发数可以达到10万级,但为性能考虑还是必须要使用集群,通过多台机器做负载均衡来实现;通常有1个简单的计算方式,1个连接产生1个session,每个session在服务器上有个内存空间大小的设置,在NT上是3M,那么10万并发就需要300G内存,当然实际使用中考虑其他程序也占用内存,所以准备的内存数量要求比这个还要多一些。还有10万个用户同时在线,跟10万个并发数是完全不同的2个概念。这个楼上已经说了。但如何做这个转换将10万个同时在线用户转换成多少个并发数呢?这就必须要有大量的历史日志信息来支撑了。系统日志需要有同时在线用户数量的日志信息,还需要有用户操作次数的日志信息,这2个数据的比例就是你同时在线用户转换到并发数的比例。另外根据经验统计,对于1个JAVA开发的WEB系统(别的我没统计过,给不出数据),一般1台双CPU、2G内存的服务器上可支持的最大并发数不超过500个(这个状态下大部分操作都是超时报错而且服务器很容易宕机,其实没什么实际意义),可正常使用(单步非大数据量操作等待时间不超过20秒)的最大并发数不超过300个。假设你的10万同时在线用户转换的并发数是9000个,那么你最少需要这样的机器18台,建议不少于30台。当然,你要是买个大型服务器,里面装有200个CPU、256G的内存,千兆光纤带宽,就算是10万个并发用户,那速度,也绝对是嗖嗖的。

2N,F)a b:?0

另外暴寒1下,光设置全部进入运行状态就需要接近6个小时。具体的可以拿1个系统来压一下看看,可能会出现以下情况:51Testing软件测试网x S.p(~$C:e"W(r;j

1、服务器宕机;

OlZ rq0

2、客户端宕机;51Testing软件测试网8B U{+K X4d

3、从某个时间开始服务器拒绝请求,客户端上显示的全是错误;

a#s)g7`8o&F5q0

4、勉强测试完成,但网络堵塞或测试结果显示时间非常长。假设客户端和服务器之间百兆带宽,百兆/10000=10K,那每个用户只能得到10K,这个速度接近1个64K的MODEM上网的速度;另外以上分析全都没考虑系统的后台,比如数据库、中间件等。

;zA,c%I[eW0

1、服务器方面:上面说的那样的PC SERVER需要50台;51Testing软件测试网(i(}:a.vUf F

2、网络方面:按每个用户50K,那至少5根百兆带宽独享,估计仅仅网络延迟就大概是秒一级的;

^:ilI2}{6vZ3K ~5v3Q0

3、如果有数据库,至少是ORACLE,最好是SYSBASE,SQL SERVER是肯定顶不住的。数据库服务器至少需要10台4CPU、16G内存的机器;51Testing软件测试网+Q:\+w2SBj$k&rnt

4、如果有CORBA,那至少再准备10台4CPU、16G内存的机器;再加上负载均衡、防火墙、路由器和各种软件等,总之没个1000万的资金投入,肯定搞不定。51Testing软件测试网R#U:v"S'Y(z O FC/s

这样的门户系统,由于有用户权限,所以并不象jackie所说大多是静态页面。但只要是多服务器的集群,那么我们就可以通过1台机器的测试结果来计算多台机器集群后的负载能力的,最多额外考虑一下负载均衡和路由上的压力,比如带宽、速度、延迟等。但如果都是在1台机器上变化,那我们只能做一些指标上的计算,可以从这些指标上简单判断一下是否不可行,比如10万并发用户却只有1根百兆带宽,那我们可以计算出每个用户只有1K带宽,这显然是不可行的。但实际的结果还是需要测试了才知道,毕竟系统压力和用户数量不是线性变化的。

L~K$A~Yx0

这一类系统的普遍的成熟的使用,以及很多软件在方案设计后就能够大致估算出系统的性能特点,都导致了系统在软件性能方面调优的比例并不大(当然不完全排除后期针对某些代码和配置进行优化后性能的进一步提高),更多的都是从硬件方面来考虑,比如增加内存、硬盘做RAID、增加带宽、甚至增加机器等。

7S&Cuk"b wU0

网络技术中的10M 带宽指的是以位计算, 就是 10M bit /秒 ,而下载时的速度看到的是以字节(Byte)计算的,所以10M带宽换算成字节理论上最快下载速度为:1.25 M Byte/秒!

3Id2n^7Ht.g`0

TAG:

 

评分:0

我来说两句

Open Toolbar