Submit Search
Upload
美团点评技术沙龙011 - 团购系统流量和容量评估实践
•
1 like
•
885 views
美团点评技术团队
Follow
百万级的购买用户数,活动带来的瞬时流量可能是平时流量的几十倍,这对我们的系统来说是一个不小的挑战。本次分享的主要内容是一次大促活动前的系统压力测试、容量评估和分析实践。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 69
Download now
Download to read offline
Recommended
美团点评技术沙龙06 - 美团外卖全链路性能测试实践
美团点评技术沙龙06 - 美团外卖全链路性能测试实践
美团点评技术团队
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术团队
美团点评沙龙012-初创电商的物流摸索
美团点评沙龙012-初创电商的物流摸索
美团点评技术团队
美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术团队
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术团队
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术团队
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术团队
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
美团点评技术团队
Recommended
美团点评技术沙龙06 - 美团外卖全链路性能测试实践
美团点评技术沙龙06 - 美团外卖全链路性能测试实践
美团点评技术团队
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术团队
美团点评沙龙012-初创电商的物流摸索
美团点评沙龙012-初创电商的物流摸索
美团点评技术团队
美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术沙龙07 - 美团配送平台高可用实践
美团点评技术团队
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术团队
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术团队
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术团队
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
美团点评技术团队
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术团队
美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案
美团点评技术团队
美团技术团队 - 美团网数据仓库的演进
美团技术团队 - 美团网数据仓库的演进
美团点评技术团队
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团点评技术团队
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
美团点评技术团队
行业攻略云-数字经营力/运营模组说明
行业攻略云-数字经营力/运营模组说明
IW C
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术团队
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡
美团点评技术团队
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评技术团队
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评技术团队
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术团队
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评技术团队
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术团队
美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-美团Atlas实践
美团点评技术团队
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术团队
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术团队
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术团队
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术团队
More Related Content
What's hot
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术团队
美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案
美团点评技术团队
美团技术团队 - 美团网数据仓库的演进
美团技术团队 - 美团网数据仓库的演进
美团点评技术团队
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团点评技术团队
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
美团点评技术团队
行业攻略云-数字经营力/运营模组说明
行业攻略云-数字经营力/运营模组说明
IW C
What's hot
(6)
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团技术沙龙02 - O2O排序解决方案
美团技术沙龙02 - O2O排序解决方案
美团技术团队 - 美团网数据仓库的演进
美团技术团队 - 美团网数据仓库的演进
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团技术沙龙02 - 移动端O2O推荐的Online Learning实战
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
美团技术沙龙02 - 计算机视觉算法在O2O中的应用
行业攻略云-数字经营力/运营模组说明
行业攻略云-数字经营力/运营模组说明
Viewers also liked
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术团队
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡
美团点评技术团队
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评技术团队
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评技术团队
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术团队
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评技术团队
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术团队
美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-美团Atlas实践
美团点评技术团队
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术团队
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术团队
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术团队
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术团队
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术团队
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术团队
美团点评技术沙龙05 - 浅谈前端工程化
美团点评技术沙龙05 - 浅谈前端工程化
美团点评技术团队
Redis Replication
Redis Replication
Ismaeel Enjreny
Viewers also liked
(20)
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-美团Atlas实践
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙05 - 前后端联调方案探索与应用
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙05 - 浅谈前端工程化
美团点评技术沙龙05 - 浅谈前端工程化
Redis Replication
Redis Replication
Similar to 美团点评技术沙龙011 - 团购系统流量和容量评估实践
Greenplum技术
Greenplum技术
锐 张
Java@taobao
Java@taobao
vanadies10
大规模数据处理
大规模数据处理
Kay Yan
淘宝双11双12案例分享
淘宝双11双12案例分享
vanadies10
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
Chao Zhu
Web系统性能测试方案浅谈
Web系统性能测试方案浅谈
beiyu95
How do we manage more than one thousand of Pegasus clusters - engine part
How do we manage more than one thousand of Pegasus clusters - engine part
acelyc1112009
Teched 2013 监和控
Teched 2013 监和控
Cheng Zhang
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
Chao Zhu
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
li luo
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
NTC.im(Notch Training Center)
Streaming platform overview 2014
Streaming platform overview 2014
Sean Zhong
baidu fuye
baidu fuye
dachmx
百度 fuye
百度 fuye
dachmx
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇
Yao-Wei Ou
了解集群
了解集群
Feng Yu
Request Management
Request Management
Sun Wei
110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass
Zoom Quiet
薛伟:腾讯广点通——大数据之上的实时精准推荐
薛伟:腾讯广点通——大数据之上的实时精准推荐
hdhappy001
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
drewz lin
Similar to 美团点评技术沙龙011 - 团购系统流量和容量评估实践
(20)
Greenplum技术
Greenplum技术
Java@taobao
Java@taobao
大规模数据处理
大规模数据处理
淘宝双11双12案例分享
淘宝双11双12案例分享
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
Web系统性能测试方案浅谈
Web系统性能测试方案浅谈
How do we manage more than one thousand of Pegasus clusters - engine part
How do we manage more than one thousand of Pegasus clusters - engine part
Teched 2013 监和控
Teched 2013 监和控
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
Streaming platform overview 2014
Streaming platform overview 2014
baidu fuye
baidu fuye
百度 fuye
百度 fuye
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇
了解集群
了解集群
Request Management
Request Management
110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass
薛伟:腾讯广点通——大数据之上的实时精准推荐
薛伟:腾讯广点通——大数据之上的实时精准推荐
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
美团点评技术沙龙011 - 团购系统流量和容量评估实践
1.
大促活动前团购系统 流量预算和容量评估实践 丁媛
2016-09-10
2.
目录 大促活动前团购系统 流量预算和容量评估实践
01 02 03 04 05 背景介绍 流量预算 容量评估——压力测试策略 容量评估——压力测试方法 总结展望
3.
团购移动 到店综合平台 团购主频道
2013 2014 2015 2016 会员卡 个人介绍 丁媛 到店综合用户端测试组 综合平台
4.
单日交易额 1亿 日均订单量
百万 流量最高峰 移动交易额 占比超过90% 引言
5.
瞬时流量 吃货节 免费玩
免费吃 立减 秒杀 红包 抢购 热点团单 核心路径 大促活动的特点
6.
团购WEB IOS/Android 团单服务 团单库
缓存集群 团购系统架构演进 早期的团购系统 API层 Service层 数据持久层 数据缓存层 200+ API接口
7.
5月17号是个好日子, 我们策划了一场超级大促~ 预计流量要翻20倍~
好赞 但是。。系统扛不住啊 开 发 运 营
8.
好啊 加几台? 大促活动来啦,
运维哥哥给扩容加机器啊 开 发 运 维
9.
要制定扩容计划, 我们集群容量多少啊 压力测试??
线上?线下?都很难 开 发 测 试
10.
。。。 算了 拍个脑袋,
两个应用各扩300台吧 开 发 运 维
11.
团购WEB应用 IOS/Android 团单库 团单服务
缓存集群B 团购系统架构的演进 现在的团购系统 价格服务 属性导航服务 团购商户服务 团单库存服务 缓存集群A 缓存集群C 团单基础库 团单属性库 MAPI/WEB Service层 数据持久层 数据缓存层 基础服务 团购详情服务 团单库存库
12.
团单详情应用 IOS/Android MAPI/WEB Service层 数据持久层
基础/价格服务包 团单属性导航包 数据缓存层 缓存集群A 团单基础库 团单库存库 团单属性库 缓存集群C 团单交易应用 个人中心应用 团单聚合服务包 团单库存服务包 缓存集群B 团购系统架构的演进 现在的团购系统 团购WEB应用
13.
团购系统架构的演进
14.
9月17号是个好日子, 我们策划了一场超级大促~ 预计流量要翻20倍~
运 营 好赞! 但是。。估计系统扛不住啊 开 发
15.
好啊 加几台? 大促活动又来啦,
运维哥哥给扩容加机器啊 开 发 运 维
16.
还可以通过分层压测评估系统容量 我们要有一份 详细的流量预算数据
开 发 测 试
17.
好的,没问题! 请根据我们提供的扩容计划表, 给核心路径应用加机器 开
发 运 维
18.
—
集群现有机器数 = 扩容机器数 X 余量系数 单机容量 大促活动前的准备 活动峰值流量
19.
目录 大促活动前团购系统 流量预算和容量评估实践
01 02 03 04 05 背景介绍 流量预算 容量评估——压力测试策略 容量评估——压力测试方法 总结展望
20.
平时的流量 大促时的流量
vs
21.
大促活动的核心路径 h5活动页
团购详情页 提交订单页
22.
大促活动的核心路径 h5活动页
团购详情页 提交订单页
23.
团购WEB
IOS/Android MAPI/WEB Service层 数据持久层 基础/价格服务包 团单属性导航包 数据缓存层 团单聚合服务包 缓存集群TG 团单基础库 团单库存库 团单属性库 缓存集群TGD 团单库存服务包 缓存集群DealBase 大促时核心路径架构图
24.
团购详情应用有6个基础模块,占应用访问 量的97%
核心路径 • 团购基本信息接口 • 团购详情须知接口 • 团购适用商户接口 非核心路径 • 本店其他团购推荐接口 • 看了又看接口 • 网友点评接口 第一步:根据活动页每个按钮的位置 → 梳理APP Native页面每个接口的调用 活动流量预算
25.
活动流量预算 团购详情接口 IOS/Android 本店其他团购推荐
团购适用商户接口 看了又看接口 网友点评接口 团购基本信息接口 团购详情页6个基础模块的接口之间调用顺序 第二步:梳理接口之间的调用顺序以及接口内部的调用链
26.
活动流量预算 第三步:通过代码分析和CAT堆栈,梳理接口依赖的服务及服务调用次数
27.
团购基础信息API 团购商户API 团单基础服务
团单详情服务 团单收藏服务 团单商户服务 团单价格历史服务 团单价格服务 团单库存服务 缓存集群TG 缓存集群DealBase 缓存集群TGD 团单基础库 团单属性库 团单库存库 团单后台服务 团购详情API 团单属性服务 1 5 1 7 28 97% 1 7 7 7 创建订单、⽀支付等其他场景
28.
团购基础信息API 团购商户API 团单基础服务
团单详情服务 团单收藏服务 团单商户服务 团单价格历史服务 团单价格服务 团单库存服务 缓存集群TG 缓存集群DealBase 缓存集群TGD 团单基础库 团单属性库 团单库存库 团单后台服务 团购详情API 团单属性服务 1 1 7 2 1 1 1 2 7 7 7 7 7 11 74 71 142428 97% 99% 99.9% 85% 5% 98% 创建订单、⽀支付等其他场景 1 5
29.
大促活动核心路径流量模型下,设详情页的流量为单位1,此时流量构成如下: •
访问服务次数: 活动流量预算 服务 访问次数 团购基础服务 7 团购详情服务 1 团购价格服务 7 团购属性读服务 2 团购库存读服务 7 团购商户服务 1 团购后台服务 2 团购历史服务 7 团购收藏服务 1
30.
在大促活动流量模型下,设详情页的流量为单位1,此时流量构成如下: •
访问cache次数: • 访问DB次数: 活动流量预算 缓存系统 访问次数 memcached-A 7 memcached-B 11 memcached-C 7 数据库 访问次数(不考虑缓存) 团购基础库 49 团购属性库 11 团购库存库 7
31.
活动流量预算——扩容计划表 done
32.
—
集群现有机器数 = 扩容机器数 X 余量系数 单机容量 大促活动前的准备 活动峰值流量
33.
目录 大促活动前团购系统 流量预算和容量评估实践
01 02 03 04 05 背景介绍 流量预算 容量评估——压力测试策略 容量评估——压力测试方法 总结
34.
34 系统容量评估——压力测试 • 压测目的
• 压测环境 • 压测类型 压测策略 • 压测方法 • 压测场景 • 压测数据 压测过程 压测结论 • 数据采集 • 监控告警
35.
是否可以通过水平扩容来提升 集群容量,系统瓶颈在哪? 集群容量 监控指标应该如何设置,
若超过阈值告警机制是否生效? 监控告警 数据库能承担的压力是多少? DB容量 应用的单机容量是多少? 单机容量 系统容量评估——压测目的 ℜ
36.
36 系统容量评估——压力测试 理想 • 线上压测
• 系统全链路压测 • 一次压测解决问题 现实 • 线上压测有风险,成本高 • 时间紧(活动测试、版本发布 和压力测试并行) • 全链路压测依赖服务多,参与/ 周知人员多 • 全链路可以压出系统瓶颈,但 是不能提供单机容量 保证压测数据有效性的基础上,做性价比最高的压力测试
37.
系统容量评估——压测环境 BETA环境
PPE环境 线上环境 PTP环境 硬件环境 数据可靠 稳定 易用 风险
38.
PTP性能测试环境
39.
40.
• 机器数量有限
à 基于Docker的虚拟机器池 • 维护成本很高 à 一键部署被测应用 • 资源利用率低 à 定期环境清理 PTP性能测试环境 • 解决传统的性能测试环境存在的问题
41.
PTP性能测试环境——硬件环境 • 与线上机器配置一致
• 同步线上JVM配置
42.
PTP性能测试环境——数据可靠性 • 同步线上数据库/表
43.
44.
如何部署依赖的服务?
45.
p 直接依赖服务 p
间接依赖服务 p 数据库依赖 p 公共服务 p 手动添加 PTP性能测试环境——智能依赖 • 智能依赖模块
46.
• 环境搭建流程 新建测试
项目 智能拉取 依赖 配置项目 参数 配置测试 环境 初始化 测试环境 p Web页面入口 p 查找被测服务 p 获取直接依赖 p 获取间接依赖 p 手工添加依赖 p 测试名称 p 上传jmx测试脚本 p 上传数据文件 p 上传流量包等 p 选择被测机器CPU p 选择被测机器内存 p 选择被测应用版本 p 申请机器 p 检查依赖DB p 部署被测应用 p 部署直接依赖服务 p 部署间接依赖服务 p 查看部署日志 监控系统CAT:Dependency实时报表 代码管理系统CODE 容量评估方法——PTP性能测试环境
47.
直接获取的依赖服务不全怎么办?
48.
回流依赖模块 预跑
回流 正式测试 p 直接执行测试脚本 p 获取缺失的依赖 p 循环调用部署模块 p 继续回流分析 p 直至无依赖缺失 p 正式执行测试脚本 p 展示实时性能数据 监控系统CAT:Problem PTP性能测试环境——依赖回流
49.
• 数据可靠性 p
硬件环境灵活配置 ✓ p 数据库可以随时同步线上数据 ✓ p 施压机和被测应用都可以是集群✓ • 稳定性 p 专职专用,不会影响正常的功能测试 ✓ p 自动部署依赖应用的稳定版本✓ p 支持泳道配置,可以同时压测多个服务✓ • 易用性 p 支持Jmeter、Tcpcopy等压测方法✓
50.
50 系统容量评估——压力测试 • 压测目的
• 压测环境 • 风险成本 压测策略 • 压测方法 • 压测场景 • 压测数据 压测过程 压测结论 • 数据采集 • 数据分析 • 监控告警
51.
51 系统容量评估——压测方法 p 线上压测方法——逐步减小集群规模
- 通过逐台摘机器的方法,使得单台机器的访问量不断提升,来达到压力测试的目的。 - 优点:应用无需读写接口分离 - 缺点: - 1.逐个摘机器有风险 - 2.对流量规模有要求,不能太小,否则压不到瓶颈 - 3.需要运维人员的密切配合。
52.
52 系统容量评估——压测方法 p 线上压测方法——线上Tcpcopy
- 在集群中挑选A、B两台机器,A为被压机,B为施压机。 - 将A配置一个泳道(机器不对外提供服务),通过Tcpcopy将B的流量逐渐放大至A。 - 优点:流量比例、风险小,可以随时修改放大倍数 - 缺点: 1、要求被压的服务只能是纯读服务,不能有写接口,否则会带来脏数据 2、Tcpcopy工具限制,放大40倍会挂掉,若线上流量太小。 则需要首先摘掉部分机器以提高单机的QPS
53.
53 系统容量评估——压测方法 p 线下压测方法——性能测试平台
p 模拟线上机器配置、JVM配置 p 模拟线上接口请求比例 p 模拟线上接口请求参数分布 p 模拟线上缓存命中率
54.
54 系统容量评估——压力测试 • 压测目的
• 压测环境 • 风险成本 压测策略 • 压测方法 • 压测场景 • 压测数据 压测过程 压测结论 • 数据采集 • 数据分析 • 监控告警
55.
系统容量评估——压测场景 实例一 •
团购基础查询服务提供了两种查询方式:单个查询和批量查询 • 设计测试场景时需要考虑两种接口的比例分布 • 使用jmeter比例控制器做控制
56.
系统容量评估——压测场景 实例二 •
团购基础查询服务的批量接口参数个数 • 需要设计调用批量查询接口时传入的团单id个数
57.
系统容量评估——压测场景 实例三 •
针对对应用性能有影响的参数类型、逻辑分支设计场景 • 例如团购销量查询服务区分品类 - A品类团单要展示聚合销量、B品类团单要展示分城市销量 - 不同的逻辑分支,查询不同的缓存和数据库
58.
p 压力测试数据的构造 -
线上流量tcpdump,到性能测试环境做流量翻倍回放 - 采取MAPI Nginx access log回放机制,对用户真实访问行为进行回放 - 人工构造数据 系统容量评估——压测数据
59.
系统容量评估——压测数据 • 被测应用:团购详情WEB应用(纯读服务)
• 压测环境:性能测试环境 • 压测数据:tcpdump复制线上流量在性能环境做回放 • 压测方法: 实例一 - 选择合适的时间段(流量不要太低) - dump流量时间足够长,流量翻倍时数据离散度需满足要求
60.
系统容量评估——压测数据 • 被测应用:个人中心WEB应用(读+写)
• 压测环境:性能测试环境 • 压测数据:nginx access log • 压测方法: 实例二 - 将最近通过app的访问nginx access log进行分类(读、写) - 线上到线下token的解析问题
61.
系统容量评估——压测数据 Nginx access日志
62.
系统容量评估——压测数据 • 被测应用:团购基础信息服务
• 压测环境:性能测试环境 • 压测数据:人工构造数据(csv文件) • 压测方法: 实例三 - 人工构造的数据应模拟线上的缓存命中率 - 缓存命中率比线上环境偏低,需要进行缓存预热 - 缓存命中率比线上环境偏高,需要尽量模拟线上团单的离散程度
63.
p 压力结果数据的采集 -
CAT Heartbeat / Transacation - PTP性能测试平台监控报告 - Jconsole/ VisualVM (推荐,集成多个JVM命令的可视化工具) - JVM命令:jstack/jstat/jmap 系统容量评估——压测结果采集
64.
64 系统容量评估——压测结果采集
65.
—
集群现有机器数 = 扩容机器数 X 余量系数 单机容量 大促活动前的准备 活动峰值流量
66.
扩容计划表
67.
目录 大促活动前团购系统 流量预算和容量评估实践
01 02 03 04 05 背景介绍 活动流量预算 系统容量评估——压力测试策略 系统容量评估——压力测试过程 总结
68.
68 总结 流量 预算 容量 评估
从上到下评估流量 从下到上提供能力 保证大促期间核心路径用户体验
69.
69 Thank You
Download now