应用系统“承压”测试实践
云智慧・Rudy
背景
新京报讯 (记者李雪莹)6月23日下午,中国人民大学网站主页发出一幅美女毕业生单人照,在网
上引发关注,网友称该女生为“人大女神”。人民大学网站的访问量短时间内急速上升,一度瘫
痪。
瘫痪!!
“双11 电商压力测试”
•你敢双 11促销么?
•阿里巴巴是怎么做得?
全链路压测
(2013年 阿里系改变了性能测试方法)
传统方法:仅仅暴露单点问题
• 线下模拟
• 线上引流
2013年全链路压测:让压力测试具备真正的确定性
1. 覆盖前端系统,网络,DB和基础架构等整个系统环境,几乎还原实际业务场景
2. 验证交易核心链路上得各种限流和预案的准确性
3. 暴露全链路上得各种瓶颈和隐藏风险点;
网站性能质的变化,给天猫带来了巨大的销售额
世界纪录
2013年天猫“11·11”
购物狂欢节支付宝成交额
达350.19亿元,刷
新去年“双十一”创下的
191亿元的纪录。
中国只有一个阿里巴巴
5000个后台工程师,阿里
系做到了去IOE(5000个后台
工程师)
1000个后台工程师,阿里系
做到了全链路测试,保障交
易额增长了200亿。
您该怎么解决你
的性能问题?
说明:IOE是指:IBM是服务器提供商,Oracle是数据库软件提供商,EMC则是存储设备提供商,三
者构成了一个从软件到硬件的企业数据库系统。
阿里巴巴的“去IOE”运动就是用成本更加低廉的软件——MYSQL替代Oracle,使用PC Server替代
EMC2、IBM小型机等设备,以消除“IOE”对自己数据库系统的垄断。
基于云的压力测试
SUT/AUT
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
负载均衡器
缓冲器
网页服务器
应用服务器
独立服务
AWS IBM
Rackspae
中国电信云
Azure
数据库
性能维护工程师
CloudTest
解析器
数据库
主服务器
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
解析器
负载均衡器
Generator
负载均衡器rator
负载均衡器
阿里云
• 完全分布式架构
• 自动部署
• 多个云提供商(包括亚马逊,微软,IBM,中国电信,阿里云,首都在线等)
• 在防火墙后端提供云测试和负载生产
• 为当今测试的节奏和复杂度应运而生
从6周到6个小时甚至6分钟,彻底改变了测试理念
•可视化开发
•迅速部署
•实时统计
速度
•真实世界的规模
•分布式的用户
•实验室和生产环境
规模
•高效且持续
•任何地点,任何人
•除去了硬件投入
高性价比
压力测试
真实业务场景测试
以真实的用户行为、时间和规模进行建模
精准地测试生产环境在压力下的性能表现
详悉各地域或链路之间性能差异
支持高达亿级PV用户的访问量
全链路性能测试
从任意位置通过网络浏览器创建并控制测试
从世界各地的一个或多个云环境生成负载
浏览器将通过标准协议指向应用程序
全球多达150个城市实时发起压力
压力测试 外部压力测试 内部压力测试
传统测试关注点
仅关注后端性能
应用软件承载量
数据库性能
硬件资源消耗
系统配比
-----------
受限于购买的License以及硬
件资源,通过估算法评估
新模式下的产品测试及发布过程
QA
Cloud
Test
APM
问题
定位
Bug Fix
是否有
问题
Product
有
无
APM
性能
分析/预测
Patch
性能
瓶颈
交易成功率
交易响应时间
并发用户数
……
最
慢
事
物
代
码
分
析
SQL
分
析
页
面
分
析
…
…
银行APP无界化
我们手机中充斥着太多种类的APP应用,且基本处于信息孤岛状态,相互之间并没有交集,
一般需要几十款甚至上百款才能覆盖我们所有的生活领域。也正是在这种困扰的刺激下,坐拥
客户资源优势的传统银行,纷纷瞄准同一个方向,开始打造一站式服务的全功能平台。
为了适应移动互联网时代客户需求和消费模式的变化,传统主流银行开始利用互联网思维打
造网络服务平台,围绕衣食住行,形成“所见即所得”的开放化金融消费体验。
交通银行买单吧
以交通银行买单吧为例:
首页功能分布清晰明了,只有银行卡、记账单、账户三项,
用户可以快速准确定位自己需要的服务类别。另外,相比
其他银行的网络消费平台,买单吧面向视野可能要更广阔
一些。登录绑定银行卡,除了交通银行的借记卡及信用卡,
买单吧还能同时支持180多种银行卡,这就成功打通了各银
行之间的界限,是可供全民使用的“无界化”消费平台
买单吧能做些什么?
1. 家庭住宿方面:日常所需的水电煤、有线电视、宽带固话均可通过买单
吧入口实现线上缴费,并且可以用积分极速缴清
2. 外出出行方面:境外游、机票、酒店预订和积分乐园联合,在买单吧
上也可以实现动动手指,一键操作
3. 饮食购物方面:电影票、网上商城、千家美食合作商户一个不少,用
户可以及时获悉并兑换消费优惠券
20用户并发性能指标汇总
内容 TPS(笔/秒) 事务平均响应时间(ms) 带宽(M) 错误率
买券流程 57 342 2 %
20用户并发,服务器平均的吞吐能力为57笔/s ,所有交易的平均响应时间342ms,
所消耗的瞬时出口带宽为2M,错误率为%,错误类别主要是提交订单失败。
左上角是不同发起位置的响应时间,右上角是响应时间和虚拟用户数在一个时间
轴上的共同走势
左下角是出错率,右下角是带宽使用
单个请求的平均响应时间和带宽流量
该图提供针对每个交易请求的平均响应时间,通过该图可以看出具体到单个请求的响应时间长短。
该图为瞬时出口带宽图,现在图中显示为平均在2M左右。
通过该图可以验证在机房总共出口带宽下,服务器的最大处理能力。
测试指标分析-错误详情
错误图:从图中可以看出,总共发送了14286条消息,错误了7个,为提交订单失败。在20用
户并发下,都开始产生了订单提交失败的错误。
CNTV 2015年谜语大会
为准备一年一度的谜语大会,发起本次压力/性能测试。本次测试模拟在线系统的
真实环境,从不同地点发起用户访问。拟实现的测试目标包括:
(1)目标支撑5000-10000用户
(2)验证线上系统最大支撑能力
首先进行CNTV 谜语大会测试脚本录制, 主要交易有两个接口:计数接口和
广播接口。
测试当天将经验证的脚本分发到云服务平台工具上,本次测试准备了支持
10000-20000个虚拟用户量并发访问的云服务器资源。
在商定好的测试时间进行压力测试,实时观测结果,并在线进行设备及软件
调试,找出问题解决问题。
测试过程
并发用户从0至5400花费8分钟时间,稳定10分钟时间,观察系统测试开始有少量报
错,集中在连接超时。稳定阶段系统反应良好,但DNS在3个时间点上出现无法解析
的状况。
在用户至上,体验为王的时代,产品与服务的用户体验问题已得到几乎所有人
的认同,“应用性能质量好坏”与“业务增长与否”这两个概念基本上被认作
同义词。期待企业的业务增长,必然要求从用户的体验状况出发,不断提高作
为线上服务支撑的应用系统的性能和稳定性。