宗刚 - 每秒上万交易大型系统性能测试与分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
响应时间 (秒)
TPS 响应时间
并发用户数/进程数
项目最大收获
27
项目最大收获
三本书
专家
实验
实战
成长
分享与持续改进
28
LET’S DO AMAZING
新浪微博:@宗‐刚 138 1117 5621
29
系统架构
经验建 架构评估 模
迭代
性能需 求
运维
容量 规划
性能 监控 健康 检查
3
敏捷性能工程
全局视角,团队作战 开发团队 性能测试 项目经理 优化专家 业务专家 支持团队
4
相互约束的性能指标
目标
关键性能指标
验证系统性能 定位系统性能瓶颈 验证系统稳定性 验证系统高可用性
目标TPS 交易响应时间 交易成功率 服务器资源利用率
每秒上万交易大型系 统的性能测试与分析
宗刚
1
宗刚
35代孙
惠普QO非功能负责人 民企、创业、外企 开发、测试、项目经理、产品经理 敏捷实践者、高级程序员、DBA
宗泽(1060~1 128)北宋末、 南宋初抗金名臣
2
多数性能问题是 管理 ?? 问题
计划
编写可测试的 性能需求 性能测试策略 定位优 在产品代办列表 里增加性能活动 化 设计执 行 性能 优化 场景 数据 需求
24
级联失效 用户模式 ……
应用代码分析案例
文件访问
自旋锁
25
汇报—一图胜万言
TPS与并发用户数关系表现
500 450 TPS(笔/秒) 400 350 300 250 200 150 100 50 0 100 200 300 400 500 600 700 800
26
9
吞吐量
拐 点
8 7 6 5 4 3 2 1 0
19
透明化一切可以透明的
专业
20
优先级
OS监控
– TotalCpu% <75% – SysCpu% <30% – Processor load balanced – Wio% <40% – Mem% <80%-90% – Vhand Cpu% <5% – Disk %busy < 60% – Disks balanced – Disk usage <95% 命令: – Sar Top Vmstat IOStat Kcusage kctune 工具: – LoadRunner (简单数据监控) – Glance (深层监控) – Nmon – Caliper(深层监控) – SiteScope(和LoadRunner集成) – Spotlight(商业工具) – Dtrace Tusc Strace (系统调用)
注重实效的性能测试场景
基准测试 梯度容量测试 多业务场景测试 配置测试 高可用性测试 稳定性测试
14
1. 分而治之 2. 风险驱动 3. 短时间
符合实际的测试数据
垫底数据+运行数据(参数化数据)
Insert into table1 (id,data,time,value) values(sequence1, 2012/10/1, 0:0:0, 1)
最高支持多少TPS? 响应时间? 交易成功率? 资源利用率?
7
理解架构与原理是性能测试的?? 基础
我是性能测试人员,负责发压力!
并发用户数?
10% 5%?
8
建立多角度业务模型
业务重 要性 业务消 耗资源 业务频
业务模型
率
业务规 律性
9
未来发 展趋势
时间
10
事件
11
促销
12
第三方 接口
13
21
CPU、内存、IO之间的关系
CPU
Disk
Mem
22
测试工具自身的监控
– 内存计算 内存? – 进程内存超过2G – 磁盘空间不足 – 网络流量 –CPU资源利用率
CPU? 测试工具 磁盘?
网络?
23
性能分析过程
通用流程:
资源利用率 进程 系统调用 应用监控
失效模式:
– 集成点失效
• 系统之间 • 组件之间 • SWAP的故事
15
简化有效的测试环境
VS
被测系统:高配?低配? 压力机:怎么配?
16
易维护健壮的脚本开发
A. 使用的函数、注意日志 B. 分离变化点 、提取公共点 C. 并发验证
17
可重复执来自百度文库的场景
A. 参数化数据
a) b)
可重复执行的参数 重新设置状态
B. 执行场景后数据清库 C. 业务流程简化
18
测试工具的挑战
5
性能测试流程
测试计划阶段
需求分析 业务模型/数据模型 性能测试方案
测试准备阶段
测试环境准备 测试脚本开发
测试执行阶段
执行性能测试 性能监控优化 执行日志
测试报告阶段
编写测试报告
测试总结阶段
经验总结
6
经验分享
流程优化
分析性能需求,确定测试目标
每天支持1亿交易,响应时间:1s以内,支持1.5亿用户。