淘宝性能测试要点

上一篇 / 下一篇  2011-12-12 17:45:31 / 个人分类:性能测试

  • 每台服务器每秒平均PV量= ( (80%*总PV)/(24*60*60*(9/24)))/服务器数量,
  • 即每台服务器每秒平均PV量=2.14*(总PV)/* (24*60*60) /服务器数量
  • 最高峰的pv量是1.29倍的平均pv值
51Testing软件测试网BC]'H.u5L$pW1M"u*E

-R(_U LEt}%L1u&zM0

m?x)t6t0

vlQ4if [0  性能测试策略51Testing软件测试网G+{~%y6a_m;kL

DFa1{c0  1.模拟生产线真实的硬件环境。51Testing软件测试网~:i#^6waW8I R7d

51Testing软件测试网B:H[q'z0~cd

  2.服务器置于同一机房,最大限度避免网络问题。

n3u+|.]m1i Ljd051Testing软件测试网{(gz/\E VR

  3.以PV为切入点,通过模型将其转换成性能测试可量化的TPS。

2z mV"R'NKc0

Ft)UcyK+N0  4.性能测试数据分为基础数据和业务数据两部分,索引和SQL都会被测试到。

7gr iqt A$?J051Testing软件测试网qD5z K:Z O,B{z

  5.日志等级设置成warn,避免大量打印log对性能测试结果的影响。

n1r)] SgN7E1pF0

l&|VD:h.|2z3x3^0  6.屏蔽ESI缓存,模拟最坏的情况。51Testing软件测试网 ps0j*ZR2Rbo Y

51Testing软件测试网@P0tgXw9i

  7.先单场景,后混合场景,确保每个性能瓶颈都得到调优。51Testing软件测试网fO-J4J-c9|sw r:bH

4IOu#wE(j0  8.拆分问题,隔离分析,定位性能瓶颈。

9@&C$xjf#ij2r NVG0

@!d0X,qH~0  9.根据性能测试通过标准,来判断被测性能点通过与否。51Testing软件测试网K(? a7GO'P

%g M0Z4{ \/v NC J8~5]1po0  10.针对当前无法解决的性能瓶颈,录入QC域进行跟踪,并请专家进行风险评估。

l8wu+mp\051Testing软件测试网P4Nq#B-p? rDGKH

  性能测试压力变化模型51Testing软件测试网 isn%Fy8P+fEi

7kt.S"{h051Testing软件测试网q/L*i v&hd+b0c

  a点:性能期望值

.x,Z0]+QOH051Testing软件测试网juhOR)]+^ I&Y

  b点:高于期望,系统资源处于临界点

n#dq NR,ee6|Q0

K/VI7W \NppH%H0  c点:高于期望,拐点51Testing软件测试网,_nz-n#g8Gs,Tc

51Testing软件测试网.^mPX(]

  d点:超过负载,系统崩溃51Testing软件测试网#T(L0@iY

51Testing软件测试网Ps({)Om X

  性能测试51Testing软件测试网1n'Z{e.~I*lV8D

_8tU'T h!wh!vV0  a点到b点之间的系统性能,以性能预期目标为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。51Testing软件测试网8Df oI^9NN

O\A-n#Tgo`8g!d0  负载测试51Testing软件测试网Yx bzB*C

B.L#s \(S4F0  b点的系统性能,对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到极限,例如某种资源已经达到饱和状态等。51Testing软件测试网I$SF K d t ~

@He5p g V7y5o0  压力测试51Testing软件测试网 {#a:|1Z"H@DQ[`

51Testing软件测试网w Y cr6I

  b点到d点之间,超过安全负载的情况下,对系统不断施加压力,是通过确定一个系统的瓶颈或不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。51Testing软件测试网1k5X2o3@sf

_yF`-[4LU0  稳定性测试

5c{kX*Z051Testing软件测试网a3G!b7fTZL.N

  a点到b点之间,被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。51Testing软件测试网\0R?|n0i

GH8s0@5I'@@-T.w"]0  监控指标

lm EPx8c+wn051Testing软件测试网&l5rx2b5HT*~.n

  性能测试通常需要监控的指标包括:51Testing软件测试网6hv5iI-{.IZ'h

51Testing软件测试网/V3J#ygS

  1.服务器Linux(包括CPU、Memory、Load、I/O)。

@,l p$uu0

NG:eHsB,E9gM0  2.数据库:1.Mysql 2.Oracle(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数)。

TlM cZ"^Y}0

9U.N]-Qv?7^!? X0  3.中间件:1.Jboss 2. Apache(包括线程数、连接数、日志)。

#{wj |r0

r&c:n/k6lE_ b0  4.网络: 吞吐量、吞吐率。

_-V0?+SS'V!o A051Testing软件测试网S`S3|+y$a'M

  5.应用: jvm内存、日志、Full GC频率。51Testing软件测试网~"X wrC1f

2Dq1f%g(Z5z0  6.监控工具LoadRunner):用户执行情况、场景状态、事务响应时间、TPS等。51Testing软件测试网i^ D)Bc#g}!J"E

51Testing软件测试网1Zv#`*` G-u

  7.测试机资源:CPU、Memory、网络、磁盘空间。

0L2O9?K^E&s\SS051Testing软件测试网Pl"X&ku2~

  监控工具51Testing软件测试网 \ iw U ljI

51Testing软件测试网0s#ZU-A!L |,_5O-?M1px

  性能测试通常采用下列工具进行监控:51Testing软件测试网"yZNK-_)c)[

51Testing软件测试网Z0BeMm+K3~#`l

  1.Profiler。一个记录log的类,阿里巴巴集团自主开发,嵌入到应用代码中使用。51Testing软件测试网Bt|-K(@

k }&l{0\!A0  2.Jstat。监控java进程GC情况,判断GC是否正常。

)D }8U.et"|1Q0

(cw{x2\dAc0  3.JConsole。监控java内存、java CPU使用率、线程执行情况等,需要在JVM参数中进行配置。

{2GS DmX ^#t7Sf `0

9Qqs+dS,l0  4.JMap。监控java程序是否有内存泄漏,需要配合eclipse插件或者MemoryAnalyzer来使用。

t:F [ ]+X3\3^%m)~n051Testing软件测试网Ax ~ E_9fk

  5.JProfiler。全面监控每个节点的CPU使用率、内存使用率、响应时间累计值、线程执行情况等,需要在JVM参数中进行配置。

KfgI4n2lYOj0

9E:m L3B0Z(v8E"t0  6.Nmon。全面监控linux系统资源使用情况,包括CPU、内存、I/O等,可独立于应用监控。

8@ r:H8BpG0

oa2CN5v&Q uu"hk9J0  7.Valgrind。监控C/C++程序是否存在内存泄漏,基于linux环境。51Testing软件测试网 j)_F-g2J,\S

51Testing软件测试网8Kc9[T'_],m)i`6N

  8.Vmmap和ApplicationVerifier。监控C/C++程序是否存在内存泄漏,基于windows环境。51Testing软件测试网(AzI+N Wa4l

51Testing软件测试网X,U.AQ#[8],jt

  性能分析

-c*`%Cei5} G-B+r0

*xW?gl(t7A&R0  可按以下顺序:

9jU,rU,X,N$A051Testing软件测试网 YW O!ZyD B]

  中间件瓶颈(apache/jboss参数配置、数据库参数配置)->51Testing软件测试网ZS$|'S2w

51Testing软件测试网A6I#U#F,z3D#OkL@K `

  应用服务的debug log ->

,](K(LN0v0

A6o n.\8D0  应用服务的filter log ->51Testing软件测试网q|.s _)UKH:v

9KBo,kL,OP7R*N)H+d0  本应用的性能瓶颈(SQL语句、索引、业务逻辑、线程池设置、算法)->51Testing软件测试网}.PlU)NqR[*m+V6Y5[

Vp_ ldg'Y0  服务提供者的性能瓶颈 ->51Testing软件测试网%mG W^ u/T;N8z0k

51Testing软件测试网Z|$_ Db~

  相关联的底层存储应用的性能瓶颈51Testing软件测试网;n&\qV~ iH)b~

51Testing软件测试网1Yx b5s!h

  分析标准51Testing软件测试网LTqG,Z!tL

KPU wb;SiQ6i#R2t0  通过性能指标的表现形式,分析性能是否稳定。比如:51Testing软件测试网A{'y_9Q`,~

51Testing软件测试网K's FC5^%d"hy}:p

  1.响应时间是否符合性能预期,表现是否稳定。51Testing软件测试网4p!xQx&dQ

51Testing软件测试网"a s/]r%x`UPz

  2.应用日志中,超时的概率,是否在可接受的范围之内。51Testing软件测试网rp\ c?{'gg+fZ-r

51Testing软件测试网Y9v3t0J p#I

  3.TPS维持在多大的范围内,是否有波形出现,标准差有多少,是否符合预期。51Testing软件测试网EcZ p+gE

)V6\#jJ#g%|8K\4R0  4.服务器CPU、内存、load是否在合理的范围内,等等。

~!\m1d m-j0

C}+` ~ecwj&j0  分析工具

T,P([@ X1K*}&hf ]0

L/b{pbR0  对于部分性能指标,可借助自动分析工具,统计出数据的总体趋势:

hdE h _d0

0s#t q'n$Y ^Y0  1.LoadRunner analysis

8b1wY*T4u*yX0g051Testing软件测试网P-r$k;n_,B$[*ZH/zN3K {

  LoadRunner analysis是loadrunner的一个部件,用于将运行过程中所采集到的数据生成报表,主要用于采集TPS、响应时间、服务器资源使用情况等变化趋势。

9i A_ TF$g9t0

wt3M/C!X0  2.Memory Analyzer

sSH9~/o4E |051Testing软件测试网+@{V"gOv6dCE

  Memory Analyzer工具可以解析Jmap dump出来的内存信息,查找是否有内存泄漏。

+GD"h2R0fodD|051Testing软件测试网X,Ljy1b

  3.nmon_analyser51Testing软件测试网+p-ZWMx/KF

4ta+o;H&]9VY0  nmon工具可以采集服务器的资源信息。列出CPU、MEM、网络、I/O等资源指标的使用情况。51Testing软件测试网2}K-BH n
51Testing软件测试网v,}:v Q L\W1ge-t


TAG:

 

评分:0

我来说两句

Open Toolbar