0
天猫大促性能测试实践
天猫 - 耿电
大纲
兴趣性能测试
推动性能优化
性能预案测试
容量性能测试
会后交流议题
引言
• 整点秒杀时,有抢到红包吗?有秒到喜欢
的宝贝吗?
• 有抢,大家试想下背后有多少人在重复的
刷新页面 ctrl+F5,告诉一个真实的数字;宝贝详情页浏览高峰:
17.2万/秒
性能项目模式
• 面对应接不暇的需求
• N多的会议
• ‘拒绝’硬性需求主动出击
• 兴趣来Owner和挑战
产品性能切入点
性能测试范畴
• 性能稳定《Code review规范》
• 静态代码扫描(FindBugs定制性能)
• 动态代码性能测试
• 线上挖掘性能Bug和优化
多维度性能
大纲
兴趣性能测试
推动性能优化
性能预案测试
容量性能测试
会后交流议题
性能优化方法(简)
优化远
程调用
• 减少远程调用,尽量使用本地调用
• 批量接口代替循环调用
数据共
享
• 使用线程缓存共享线程级别数据
• 使用分布式缓存共享应用级别数据
使用高
效API
• 选择高效API来优化程序(例如字符串拼接、...
性能瓶颈CheckList
• LinkedBlockingQueue 队列1任务
调度
• EventSendMulticaster – 发送事件
• 队列节点总数为378002760/
(1720+32)=215755个
• 堆内存由300M升到400M,
FGC=1...
性能优化工具简介
Btrace、Triton
MAT(Memory Analyzer Tool )
Jprofiler
YourKit
TDA(Thread Dump Analyzer)
……
Triton
• 功能丰富(响应时间、瓶颈分析、上下文分析、堆栈死锁检查等)
• 动态性(非代码侵入,快速分析、不影响性能)
• 实时性、交互性(使用方便,学习成本低)
• 专利:《一种基于字节码分析和Instrument的代码性能消耗分析
方...
大纲
兴趣性能测试
推动性能优化
性能预案测试
容量性能测试
会后交流议题
预案类型
• 限流
• 降级
• 被动
• 防攻击
预案操作
• 单&组合
• 手动&自动
• 业务&性能
• Web&服务
预案介绍
预案性能分析策略
预案(功能OK)
性能环境(Test env)
1. 产品业务流程
2. 产品用户体验
1. 本应用性能稳定影响
2. 是否触发性能bug
3. 上下游性能关联影响
线上环境(Online) 1. 本应用性能稳定影响
2. 是否触发性能bug
...
大纲
兴趣性能测试
推动性能优化
性能预案测试
容量性能测试
会后交流议题
容量性能测试
• 单接口性能(容量)
• 应用性能(容量)
• 核心产品链路性能
• 水位、预警、预测,告警通知,扩容;
容量规划
• 容量监控 - 实时透明
• 容量预警 - 告警值班
• 容量预测 - 模型预估
• 容量扩容 – 充分(N)余量
交流议题
• 性能测试烦恼问题,以及性能发展趋
势
• 如何建设适宜的性能测试平台
• 轻量级性能测试
• 如何控制性能测试成本?
旺旺:耿电
邮箱:gengdian@tmall.com
微博:亚拉冈王_耿电
天猫测试博客: http://tmalltesting.com/
Upcoming SlideShare
Loading in...5
×

天猫大促性能测试实践 耿电

648

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
648
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "天猫大促性能测试实践 耿电"

  1. 1. 天猫大促性能测试实践 天猫 - 耿电
  2. 2. 大纲 兴趣性能测试 推动性能优化 性能预案测试 容量性能测试 会后交流议题
  3. 3. 引言 • 整点秒杀时,有抢到红包吗?有秒到喜欢 的宝贝吗? • 有抢,大家试想下背后有多少人在重复的 刷新页面 ctrl+F5,告诉一个真实的数字;宝贝详情页浏览高峰: 17.2万/秒
  4. 4. 性能项目模式 • 面对应接不暇的需求 • N多的会议 • ‘拒绝’硬性需求主动出击 • 兴趣来Owner和挑战
  5. 5. 产品性能切入点
  6. 6. 性能测试范畴 • 性能稳定《Code review规范》 • 静态代码扫描(FindBugs定制性能) • 动态代码性能测试 • 线上挖掘性能Bug和优化
  7. 7. 多维度性能
  8. 8. 大纲 兴趣性能测试 推动性能优化 性能预案测试 容量性能测试 会后交流议题
  9. 9. 性能优化方法(简) 优化远 程调用 • 减少远程调用,尽量使用本地调用 • 批量接口代替循环调用 数据共 享 • 使用线程缓存共享线程级别数据 • 使用分布式缓存共享应用级别数据 使用高 效API • 选择高效API来优化程序(例如字符串拼接、编解码) • XML、JSON解析,序列化/反序列化的开源包选择 JVM优 化 • 优化堆内存结构、比例 • 调整GC类型,JVM调优,线程
  10. 10. 性能瓶颈CheckList
  11. 11. • LinkedBlockingQueue 队列1任务 调度 • EventSendMulticaster – 发送事件 • 队列节点总数为378002760/ (1720+32)=215755个 • 堆内存由300M升到400M, FGC=110次/h <bean id="eventSendMulticaster" cla ss="com.taobao.inventory.core.ev ent.controll.EventSendMulticaster "> <property name="taskCount" val ue="15"></property> 性能优化后: 解决FGC频繁问题,性能提升3倍 案例-线程阻塞和性能优化
  12. 12. 性能优化工具简介 Btrace、Triton MAT(Memory Analyzer Tool ) Jprofiler YourKit TDA(Thread Dump Analyzer) ……
  13. 13. Triton • 功能丰富(响应时间、瓶颈分析、上下文分析、堆栈死锁检查等) • 动态性(非代码侵入,快速分析、不影响性能) • 实时性、交互性(使用方便,学习成本低) • 专利:《一种基于字节码分析和Instrument的代码性能消耗分析 方法》
  14. 14. 大纲 兴趣性能测试 推动性能优化 性能预案测试 容量性能测试 会后交流议题
  15. 15. 预案类型 • 限流 • 降级 • 被动 • 防攻击 预案操作 • 单&组合 • 手动&自动 • 业务&性能 • Web&服务 预案介绍
  16. 16. 预案性能分析策略
  17. 17. 预案(功能OK) 性能环境(Test env) 1. 产品业务流程 2. 产品用户体验 1. 本应用性能稳定影响 2. 是否触发性能bug 3. 上下游性能关联影响 线上环境(Online) 1. 本应用性能稳定影响 2. 是否触发性能bug 3. 上下游性能关联影响 1. 产品业务流程 2. 产品用户体验 3. 用户利益 预案性能测试
  18. 18. 大纲 兴趣性能测试 推动性能优化 性能预案测试 容量性能测试 会后交流议题
  19. 19. 容量性能测试 • 单接口性能(容量) • 应用性能(容量) • 核心产品链路性能 • 水位、预警、预测,告警通知,扩容;
  20. 20. 容量规划 • 容量监控 - 实时透明 • 容量预警 - 告警值班 • 容量预测 - 模型预估 • 容量扩容 – 充分(N)余量
  21. 21. 交流议题 • 性能测试烦恼问题,以及性能发展趋 势 • 如何建设适宜的性能测试平台 • 轻量级性能测试 • 如何控制性能测试成本?
  22. 22. 旺旺:耿电 邮箱:gengdian@tmall.com 微博:亚拉冈王_耿电 天猫测试博客: http://tmalltesting.com/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×