网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。利用网络应用性能分析工具,例如Application
Expert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。可以解决多种问题:客户端是否对数据库服务器运行了不必要的请求?当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?在投产前预测应用的响应时间;利用Application
Expert调整应用在广域网上的性能;Application
Expert能够让你快速、容易地仿真应用性能,根据最终用户在不同网络配置环境下的响应时间,用户可以根据自己的条件决定应用投产的网络环境。51Testing软件测试网b4I0g6Tm&e~7MU
1.性能指标标准—网络层
!D&FM0F#@C_0网络层各项指标对应用户体验的标准为:
L7`!O
[!Z'S0S4ZM:u02I z-a6s`F,x02.性能指标标准—页面层
)_}"o
s!f0页面层各项指标对应用户体验的标准为:
"z"FRE9K-up#c"s0-zN_+Q N7E%f c8o [03.性能指标标准—链路层
hQ8}@.Dou_0页面层各项指标对应用户体验的标准为:51Testing软件测试网.t3Ys`~b"cd
8Pms7YN0通用指标(指Web应用服务器、数据库服务器必需测试项)51Testing软件测试网/uQl,m]FhD9\Z-a/c
51Testing软件测试网;e:oF%Y(B}z1y7h p
Web服务器指标
^&w
Gv/X:}m'U09M6}$l'Xa%_*k0数据库服务器性能指标51Testing软件测试网^P]
N M)I
51Testing软件测试网 ajBw+A!O@.W+M
系统的瓶颈定义
Z:FP"QQn_[051Testing软件测试网kzjmUU-l
稳定系统的资源状态51Testing软件测试网+r(f8m
ug]Gz4m
u+Ql#K$m0Mlj0通俗理解:51Testing软件测试网PC[I7a s
- 日访问量
- 常用页面最大并发数
- 同时在线人数
- 访问相应时间
案例:
(Z/Go7f,l0最近公司一个项目,是个门户网站,需要做性能测试,根据项目特点定出了主要测试项和测试方案:
N2h;v'_:J0一种是测试几个常用页面能接受的最大并发数(用户名参数化,设置集合点策略)51Testing软件测试网t&\4j+l({.Q!biAE
一种是测试服务器长时间压力下,用户能否正常操作(用户名参数化,迭代运行脚本)
DYb*a zI~}:@0一种则需要测试服务器能否接受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万个并发用户,那速度,也绝对是嗖嗖的。
?-Bn]%Rdu0另外暴寒1下,光设置全部进入运行状态就需要接近6个小时。具体的可以拿1个系统来压一下看看,可能会出现以下情况:51Testing软件测试网b;Lj D/_ds
{
1、服务器宕机;51Testing软件测试网^L4OA6`}U9M6w
2、客户端宕机;51Testing软件测试网]/@$BR ` v
3、从某个时间开始服务器拒绝请求,客户端上显示的全是错误;51Testing软件测试网`1p[4G7y
x\%R.M)]y
4、勉强测试完成,但网络堵塞或测试结果显示时间非常长。假设客户端和服务器之间百兆带宽,百兆/10000=10K,那每个用户只能得到10K,这个速度接近1个64K的MODEM上网的速度;另外以上分析全都没考虑系统的后台,比如数据库、中间件等。51Testing软件测试网)^)S)t-m4Nhg)xV
1、服务器方面:上面说的那样的PC SERVER需要50台;
5P `na
Z02、网络方面:按每个用户50K,那至少5根百兆带宽独享,估计仅仅网络延迟就大概是秒一级的;
`O'z(o[.p+`4ER03、如果有数据库,至少是ORACLE,最好是SYSBASE,SQL
SERVER是肯定顶不住的。数据库服务器至少需要10台4CPU、16G内存的机器;
W)`9H3F9i&O$a F04、如果有CORBA,那至少再准备10台4CPU、16G内存的机器;再加上负载均衡、防火墙、路由器和各种软件等,总之没个1000万的资金投入,肯定搞不定。