淘宝性能测试白皮书 V10.docx
- 文档编号:24009960
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:52
- 大小:1.03MB
淘宝性能测试白皮书 V10.docx
《淘宝性能测试白皮书 V10.docx》由会员分享,可在线阅读,更多相关《淘宝性能测试白皮书 V10.docx(52页珍藏版)》请在冰豆网上搜索。
淘宝性能测试白皮书V10
序言
二零零九,岁在己丑,秋末冬初,会于产品研发之测试,修性能书也,群贤毕至,少长咸集。
此地有系统框架,API接口;又有Web应用,无线性能,分布式各大中心,列坐其次。
虽无丝竹管弦之盛,一书一典,亦足以畅叙幽情。
是日也,天朗气清,惠风和畅。
仰观系统之大,俯察测试之盛。
所以游目骋怀,足以极性能之娱,信可乐也。
测试之相与,俯仰淘宝,或接口功能,测试一室之内;或安全性能,放浪形骸之外。
虽用例万殊,方法不同,当其欣于所遇,暂得于己,怏然自足,曾不知新人倍增;及其所之未知,能力各异,感慨系之矣。
向之所能,俯仰之间,已为陈迹,犹不能不以之兴怀。
况系统复杂,调优艰难。
马云曰:
“系统之不稳。
岂不痛哉!
”
每览昔人性能测试成就之由,若合一契,未尝不临技能嗟叹,不能喻之于怀。
固知技术名利为虚诞,齐知识业绩为妄作。
后之视今,亦犹今之视昔。
憾夫!
故列叙性能理论实践,录其指标模型策略,虽世殊事异,性能技术,其致一也。
后之览者,亦将有感于斯性能白皮书。
郭芙淘宝网测试掌门人
2009年11月18日于杭州
目录
序言...........................................................................................................................................2
目录...........................................................................................................................................3
引言...........................................................................................................................................5
性能测试指标...........................................................................................................................5
Vuser虚拟用户5
Transaction事务5
TPS每秒事务数6
PVPageView6
PeakPV高峰PageView6
Concurrency并发7
Scenario场景7
ResponseTime响应时间7
ThinkTime思考时间7
CPU资源8
Load负载9
Std.Deviation标准差10
性能测试模型.........................................................................................................................10
PV计算模型10
PV->TPS转换模型12
TPS波动模型12
共享中心性能测试模型.....................................................................................................13
前端页面性能测试模型.....................................................................................................14
性能测试策略.........................................................................................................................15
性能测试评估.........................................................................................................................16
关键业务.............................................................................................................................17
日PV量17
逻辑复杂度.........................................................................................................................17
运营推广计划.....................................................................................................................17
其它.....................................................................................................................................17
性能测试类型.........................................................................................................................18
性能测试压力变化模型.....................................................................................................18
性能测试类型.....................................................................................................................18
1.性能测试..................................................................................................................18
2.负载测试..................................................................................................................19
3.压力测试..................................................................................................................19
4.稳定性测试..............................................................................................................19
性能测试执行方法.................................................................................................................19
单场景.................................................................................................................................19
混合场景.............................................................................................................................20
性能监控.................................................................................................................................20
监控指标.............................................................................................................................20
监控工具.............................................................................................................................21
监控步骤.............................................................................................................................23
性能分析.................................................................................................................................24
分析原则.............................................................................................................................24
分析信息来源.....................................................................................................................24
分析标准.............................................................................................................................24
分析工具.............................................................................................................................24
性能测试通过标准.................................................................................................................27
性能测试流程.........................................................................................................................28
性能测试流程图.................................................................................................................28
性能测试流程主要活动.....................................................................................................29
性能测试文件模版.................................................................................................................30
结束语.....................................................................................................................................30
参考文献.................................................................................................................................31
版本更新说明.........................................................................................................................32
作者介绍.................................................................................................................................32
引言
淘宝网自创立以来,除了对功能的要求很高以外,对性能的要求也越来越高。
从最初的系统框架性能测试、TOP-API接口性能测试,到现在的Web应用性能测试,无线性能测试领域,淘宝性能测试在不断向前发展,横向、纵向都在不断深入、拓宽,不断创新。
经过五彩石项目对淘宝的整体应用重构之后,淘宝网形成了以四个中心为应用基础的分布式架构体系。
而分布式网站的性能,很大程度上决定了网站的竞争优势。
但是,一个应用的性能由多方面因素决定,这样就增加了性能测试和性能调优的难度,也扩大了性能测试的广度,这是一个挑战。
专业的测试需要专业的团队,我们的团队也应运而生。
本性能测试白皮书旨在以理论指导实践,以实践修正理论,将会从以下几个方面介绍和分析淘宝的性能测试:
性能测试指标、淘宝性能测试模型、性能测试策略、性能测试评估、性能测试类型、性能测试执行方法、性能监控和性能分析、性能测试通过标准,以及性能测试流程和文件模版。
同时,也是让更多的人更好地了解淘宝性能测试和性能调优,参与性能测试,共同将淘宝网做得更大、更强、更稳定,并且期望淘宝的性能测试能成为电子商务性能测试业界的标准。
性能测试指标
Vuser虚拟用户
Virtualuser,模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本里。
Vuser脚本用于描述Vuser在场景中执行的操作。
虚拟用户在性能场景中有以下12个状态,Down,Pending,Init,Ready,Running,Rendezous,Passed,Failed,Error,GradualExiting,Exiting,Stopped.如图1所示。
图1
Transaction事务
事务是性能测试脚本的一个重要特性。
要度量服务器的性能,需要定义事务,每个事务都包含事务开始和事务结束标记。
事务用来衡量脚本中一行代码或多行代码的执行所耗费的时间。
可以将事务开始放置在脚本中某行或者多行代码的前面,将事务结束放置在该行或者多行代码的后面,在该脚本的虚拟用户运行时,这个事务将衡量该行或者多行代码的执行花费了多长时间。
在性能测试脚本中,事务的标记会以下列形式出现(举例语言为类JAVA语言模式)。
如图2所示。
try
{
lr.start_transaction("QueryItemById");finalItemResultDOitemResult
=itemQueryService.queryItemById(itemIdDo,options,mainDbRoute);finalItemDOitem=itemResult.getItem();
}catch(finalExceptione)
{
//TODOAuto-generatedcatchblocke.printStackTrace();
}
finally{
}
lr.end_transaction("QueryItemById",lr.AUTO);
图2
TPS每秒事务数
TPS(TransactionPerSecond)每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标。
TPS是LoadRunner中重要的性能参数指标。
图3是TPS单位时间段内的分布图。
TAOBAOPERF-TEST
图3
PVPageView
PV是PageView的缩写。
用户通过浏览器访问页面,对应用服务器产生的每一次请求,记为一个PV。
淘宝性能测试环境下,将这个概念做了延伸,系统真实处理的一个请求,视为一个PV。
即,PV的概念也适用于接口。
PeakPV高峰PageView
即PV峰值,指一天中PV数达到的最高峰。
Concurrency并发
并发分为狭义和广义两类。
狭义的并发,即所有的用户在同一时刻做同一件事情或操作,这种操作一般针对同一类
型的业务,或者所有用户进行完全一样的操作,目的是测试数据库和程序对并发操作的处理。
广义的并发,即多个用户对系统发出了请求或者进行了操作,但是这些请求或操作可以
是不同的。
对整个系统而言,仍然有很多用户同时进行操作。
狭义并发强调对系统的请求操作是完全相同的,多适用于性能测试、负载测试、压力测
试、稳定性测试场景;广义并发不限制对系统的请求操作,多适用于混合场景、稳定性测试场景。
Scenario场景
性能测试过程中为了模拟真实用户的业务处理过程,在LoadRunner中构建的基于事务、脚本、虚拟用户、运行设置、运行计划、监控、分析等的一系列动作的集合,称之为性能测试场景。
场景中包含了待执行脚本、脚本组、并发用户数、负载生成器、测试目标、测试执行时的配置条件等。
ResponseTime响应时间
响应时间是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。
在性能测试结果分析中,性能场景中事务的响应时间请参阅图4所示,事务响应时间分为事务最小响应时间、事务平均响应时间、事务最大响应时间。
图4
ThinkTime思考时间
模拟正式用户在实际操作时的停顿间隔时间。
从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。
在测试脚本中,思考时间体现为脚本中两个请求语句之间的间隔时间。
TAOBAOPERF-TEST
在脚本中的表现形式如下图5所示,加入的思考时间为10秒。
lr_think_time(10);
lr_start_transaction("LimitPromotion");
web_submit_data("buy_now.jhtml","Action=http:
//$hostname$:
$port$","Method=POST",
"TargetFrame=","RecContentType=text/html",
"Referer=http:
//:
//$hostname$:
$port$/auction/item_detail-0db2-{auc_ID}.jhtml","Snapshot=t18.inf",
"Mode=HTML",ITEMDATA,
"Name=catPath","Value=",ENDITEM,"Name=item_id","Value={auc_ID}",ENDITEM,"Name=auction_id","Value={auc_ID}geng",ENDITEM,"Name=auction_type","Value=b",ENDITEM,"Name=title","Value=2009-08-1710:
24162",ENDITEM,
"Name=x_id","Value=db2",ENDITEM,
"Name=seller_id","Value=b929dfa7858c0e5a054fffd3550e68a2",ENDITEM,"Name=allow_quantity","Value=100000",ENDITEM,"Name=seller_nickname","Value=tbtest33",ENDITEM,
LAST);
lr_end_transaction("LimitPromotion",LR_AUTO);
图5
CPU资源
CPU资源是指性能测试场景运行的这个时间段内,应用服务系统的CPU资源占用率。
CPU资源是判断系统处理能力以及应用运行是否稳定的重要参数。
应用服务系统可以包括应用服务器、Web服务器、数据库服务器等。
性能测试过程中,对CPU的监控以及分析报告、图表有LoadRunner自带监控分析、有Linux系统输出以及手工汇总、有第三方工具监控分析等。
在此以LR监控分析图表(图6)、JVM自带CPU监控图表(图7)为例。
TAOBAOPERF-TEST
图6
图7
Load负载
系统平均负载,被定义为在特定时间间隔内运行队列中的平均进程数。
如果一个进程满足以下条件则其就会位于运行队列中:
1.它没有在等待I/O操作的结果。
2.它没有主动进入等待状态(也就是没有调用“wait”)。
3.没有被停止(例如:
等待终止)。
性能测试结果分析Load分布如图8所示。
图8
Std.Deviation标准差
TAOBAOPERF-TEST
该标准差根据数理统计的概念得来,标准差越小,说明波动越小,系统越
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 淘宝性能测试白皮书 V10 淘宝 性能 测试 白皮书
![提示](https://static.bdocx.com/images/bang_tan.gif)