- 每台服务器每秒平均PV量= ( (80%*总PV)/(24*60*60*(9/24)))/服务器数量,
- 即每台服务器每秒平均PV量=2.14*(总PV)/* (24*60*60) /服务器数量
- 最高峰的pv量是1.29倍的平均pv值
q{2sFS/G9g {A0
~L)J{Yt8a051Testing软件测试网,J2R^;C-Uw1Fj{-A*]
*PIi9U;^(N!Q0 性能测试策略
m `ls"o0C(h!N*V*~1p0 1.模拟生产线真实的硬件环境。51Testing软件测试网;au _"C9a;Y:Od
51Testing软件测试网uZZ)d]riB(@ 2.服务器置于同一机房,最大限度避免网络问题。
7t6Uo"\Zd8d0p9f p2z)|`o[0 3.以PV为切入点,通过模型将其转换成性能测试可量化的TPS。
;O8L7X1mX1`4v0N2]6?t9L5wmtz0 4.性能测试数据分为基础数据和业务数据两部分,索引和SQL都会被测试到。51Testing软件测试网z+H#V:~#yu:g/}}
51Testing软件测试网3GuP'XB(e*pl${"n 5.日志等级设置成warn,避免大量打印log对性能测试结果的影响。
+`.c\_w051Testing软件测试网 ^,Oc.O&q
Cq/X@9?gf 6.屏蔽ESI缓存,模拟最坏的情况。51Testing软件测试网5f{qgc6aH
51Testing软件测试网ohr pK"v 7.先单场景,后混合场景,确保每个性能瓶颈都得到调优。51Testing软件测试网tm7Dw1W!CdH
_!c6pQ"zs0 8.拆分问题,隔离分析,定位性能瓶颈。51Testing软件测试网+nj ki3Gi
0[F(~su7D6_\S5]1[0 9.根据性能测试通过标准,来判断被测性能点通过与否。
Y,c.F\]Iw
Q0&Ri/CdK]T3X0 10.针对当前无法解决的性能瓶颈,录入QC域进行跟踪,并请专家进行风险评估。51Testing软件测试网5_'],m:E#C Vfwj
51Testing软件测试网&NG TL3J 性能测试压力变化模型51Testing软件测试网gv5[5R/zz
9y^%}d/kC2Z
w0;Zzy@E7j5@1q0 a点:性能期望值51Testing软件测试网 hv-h O9KE&nruKp
51Testing软件测试网emh*i8qbHl#s b点:高于期望,系统资源处于临界点51Testing软件测试网-k*G6u0M|f
51Testing软件测试网?nI8_B!T\0uxN b c点:高于期望,拐点
Y6`ZR,h_2a9v0&ZH+xWBn*?0T0 d点:超过负载,系统崩溃51Testing软件测试网r&\0EZ[7neUC
3mQ9]5adt _+M:xj q0 性能测试
E:GIvZd)E2K0
l1\A/zBgi@c0 a点到b点之间的系统性能,以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。51Testing软件测试网+F3X8M| ~(Zt/D
51Testing软件测试网{t
Zb|Lr 负载测试
2Bu?7[e+_[*B#P051Testing软件测试网&x ~;VGXvs] b点的系统性能,对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到极限,例如某种资源已经达到饱和状态等。
:E!WZeq_6w^\051Testing软件测试网dr
g+o_ 压力测试51Testing软件测试网)Ag
L@1YW#j
51Testing软件测试网4Hkb"c0u wfZ b点到d点之间,超过安全负载的情况下,对系统不断施加压力,是通过确定一个系统的瓶颈或不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。51Testing软件测试网w[N!__F
51Testing软件测试网#vq#\G}H"{ U9~ 稳定性测试
.~Z
Bo8{W5s0Nj051Testing软件测试网
{9J:T5zohn0E a点到b点之间,被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。51Testing软件测试网%TRp:S(c9]
8Q6[9H-Z/bAow:i0 监控指标
0Jdn#@8]!V/rJ0D%s }X1B1R0 性能测试通常需要监控的指标包括:
$V4`$?h+P E&q}051Testing软件测试网MkIS2E9s(}#U8R 1.服务器Linux(包括CPU、Memory、Load、I/O)。
.tf,uW6~mf0T+lX+]p0c0 2.数据库:1.Mysql 2.Oracle(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)。51Testing软件测试网(nCgT@9~?6k
51Testing软件测试网C/pZti%XF'z"B 3.中间件:1.Jboss 2. Apache(包括线程数、连接数、日志)。
x y0J/i0p
p+C051Testing软件测试网~?(u r;sK@3V0t 4.网络: 吞吐量、吞吐率。51Testing软件测试网m4zP(xS!Y!bj/o
0hu9q5|)Lg0 5.应用: jvm内存、日志、Full GC频率。51Testing软件测试网"P;y-p"{f2qU
51Testing软件测试网:m5c)oelT Q 6.监控工具(LoadRunner):用户执行情况、场景状态、事务响应时间、TPS等。
o,d_5l;y051Testing软件测试网V|U!@L)aUu.w8V?A 7.测试机资源:CPU、Memory、网络、磁盘空间。51Testing软件测试网f
tkSI
51Testing软件测试网.K"m)U9x+p
yn_ 监控工具
C
V&B;aHK B B+E(f051Testing软件测试网$xWK[XI 性能测试通常采用下列工具进行监控:51Testing软件测试网&F;j*APBS{o:]zC
51Testing软件测试网P3K+iCYPG
?,kf{$O[ 1.Profiler。一个记录log的类,阿里巴巴集团自主开发,嵌入到应用代码中使用。51Testing软件测试网?t&K2m7o'wv/o5x,P
ze
vu'xKL0 2.Jstat。监控java进程GC情况,判断GC是否正常。51Testing软件测试网x[\u0nmAyA
51Testing软件测试网)a^4lF/Clw mr 3.JConsole。监控java内存、java CPU使用率、线程执行情况等,需要在JVM参数中进行配置。
%T"T1_E9YO
ytF1y0/smB-Z
Z
^0 4.JMap。监控java程序是否有内存泄漏,需要配合eclipse插件或者MemoryAnalyzer来使用。51Testing软件测试网;Wq|"T#w.{:^
Y
D-lK S"?(^
c0 5.JProfiler。全面监控每个节点的CPU使用率、内存使用率、响应时间累计值、线程执行情况等,需要在JVM参数中进行配置。51Testing软件测试网Zn6K)Ey6y
^'kcO%T,MC
z5]o
v0 6.Nmon。全面监控linux系统资源使用情况,包括CPU、内存、I/O等,可独立于应用监控。
9_~+UG#[3B-V0cxQ6{^pz0 7.Valgrind。监控C/C++程序是否存在内存泄漏,基于linux环境。51Testing软件测试网.R@ki5} R
i#|
Lx/t1G#`I q p0 8.Vmmap和ApplicationVerifier。监控C/C++程序是否存在内存泄漏,基于windows环境。
3djXD9YZ[8jC.}0.a7Ls)Id|0 性能分析
g8]E#z"Xo0vUGo1G b[0 可按以下顺序:
*EgE/b pq0B0SKZ-}"ZoK0 中间件瓶颈(apache/jboss参数配置、数据库参数配置)->
8[,\cB1o|04Z!Y,cc A3GaR1A(d0 应用服务的debug log ->51Testing软件测试网)W \!y#E$v/bHx_E
51Testing软件测试网PY8mU_3ZM-wd[1}h)a 应用服务的filter log ->51Testing软件测试网C+B3htP&g
ac$?Bx3b
m9Fu.V0 本应用的性能瓶颈(SQL语句、索引、业务逻辑、线程池设置、算法)->51Testing软件测试网x`(O3]E*e
51Testing软件测试网 [x~4i?jL9[,X5l` 服务提供者的性能瓶颈 ->
U,J2~5pm"S
x051Testing软件测试网&ZsZ9I)I]2] 相关联的底层存储应用的性能瓶颈51Testing软件测试网y
v$~FV/e,F7r/[C4`
51Testing软件测试网cL@&X:U0C$g
xt 分析标准
C`3O.n~V-|wR3?051Testing软件测试网
m8i"@h#v:s 通过性能指标的表现形式,分析性能是否稳定。比如:51Testing软件测试网2I9}fma:Y@H
51Testing软件测试网*K1I8Hm Yw0sw 1.响应时间是否符合性能预期,表现是否稳定。
l2Wz!r2x0ZCg6_HXJ0 2.应用日志中,超时的概率,是否在可接受的范围之内。
,hkvUbRO6}7w0Qe
HB*E.d$V0 3.TPS维持在多大的范围内,是否有波形出现,标准差有多少,是否符合预期。
eTW@StCT
C0!uU9C!y} @3G)p4Bl0 4.服务器CPU、内存、load是否在合理的范围内,等等。51Testing软件测试网3v!vM}Al
#\^*o.cF0 分析工具51Testing软件测试网N'[-L
E1V p$rQ"f_
51Testing软件测试网)F~!T'zLh'^
ej 对于部分性能指标,可借助自动分析工具,统计出数据的总体趋势:51Testing软件测试网
[TI ~2v'@Y+EAA
+g&}(N
KC
@8\0 1.LoadRunner analysis51Testing软件测试网
z3^.~)TrM
1RcE'E)H.}Z0 LoadRunner analysis是loadrunner的一个部件,用于将运行过程中所采集到的数据生成报表,主要用于采集TPS、响应时间、服务器资源使用情况等变化趋势。
kr @'[WtS051Testing软件测试网
y,A/I5ph;b|*B#R 2.Memory Analyzer
{1t7eVH7S;F+[Z,[@0%mM3g/p{;l9d0 Memory Analyzer工具可以解析Jmap dump出来的内存信息,查找是否有内存泄漏。51Testing软件测试网%h^+F [A
9av(C+Z"p?3M{0 3.nmon_analyser51Testing软件测试网^B9T/tK9n8z$P3y
)m6Ud)r0_8tzc'K0 nmon工具可以采集服务器的资源信息。列出CPU、MEM、网络、I/O等资源指标的使用情况。
!z%mdv~~^051Testing软件测试网n9~ {*Ydh