22
天天天天天天天天天天 天天 - 天天

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

Embed Size (px)

Citation preview

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

天猫大促性能测试实践

天猫 - 耿电

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

大纲兴趣性能测试

推动性能优化

性能预案测试

容量性能测试

会后交流议题

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

引言• 整点秒杀时,有抢到红包吗?有秒到喜欢

的宝贝吗?• 有抢,大家试想下背后有多少人在重复的

刷新页面 ctrl+F5 ,告诉一个真实的数字;宝贝详情页浏览高峰:

17.2万 /秒

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

性能项目模式• 面对应接不暇的需求• N 多的会议

• ‘ 拒绝’硬性需求主动出击• 兴趣来 Owner 和挑战

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

产品性能切入点

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

性能测试范畴• 性能稳定《 Code review 规范》• 静态代码扫描( FindBugs 定制性能)• 动态代码性能测试• 线上挖掘性能 Bug 和优化

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

多维度性能

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

大纲兴趣性能测试

推动性能优化

性能预案测试

容量性能测试

会后交流议题

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

性能优化方法 ( 简 )

优化远程调用

•减少远程调用,尽量使用本地调用

•批量接口代替循环调用

数据共享

•使用线程缓存共享线程级别数据

•使用分布式缓存共享应用级别数据

使用高效API

•选择高效API来优化程序(例如字符串拼接、编解码)

•XML、JSON解析,序列化/反序列化的开源包选择

JVM优化

•优化堆内存结构、比例

•调整GC类型,JVM调优,线程

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

性能瓶颈 CheckList

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

• LinkedBlockingQueue 队列 1 任务调度

• EventSendMulticaster – 发送事件• 队列节点总数为 378002760/

( 1720+32 ) =215755 个• 堆内存由 300M 升到

400M , FGC=110 次 /h

<bean id="eventSendMulticaster" class="com.taobao.inventory.core.event.controll.EventSendMulticaster"> <property name="taskCount" value="15"></property>

性能优化后:解决 FGC频繁问题,性能提升 3倍

案例 - 线程阻塞和性能优化

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

性能优化工具简介Btrace 、 TritonMAT ( Memory Analyzer Tool )Jprofiler

YourKit

TDA(Thread Dump Analyzer)

……

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

Triton• 功能丰富(响应时间、瓶颈分析、上下文分析、堆栈死锁检查

等)• 动态性(非代码侵入,快速分析、不影响性能)• 实时性、交互性(使用方便,学习成本低)• 专利:《一种基于字节码分析和 Instrument 的代码性能消耗分析

方法》

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

大纲兴趣性能测试

推动性能优化

性能预案测试

容量性能测试

会后交流议题

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

预案类型• 限流• 降级• 被动• 防攻击

预案操作

• 单 & 组合• 手动 & 自动• 业务 & 性能• Web& 服务

预案介绍

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

预案性能分析策略

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

预案(功能 OK )

性能环境( Test env)1. 产品业务流程2. 产品用户体验

1. 本应用性能稳定影响2. 是否触发性能 bug

3. 上下游性能关联影响

线上环境(Online)1. 本应用性能稳定影响2. 是否触发性能 bug

3. 上下游性能关联影响

1. 产品业务流程2. 产品用户体验

3. 用户利益

预案性能测试

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

大纲兴趣性能测试

推动性能优化

性能预案测试

容量性能测试

会后交流议题

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

容量性能测试• 单接口性能(容量)• 应用性能(容量)• 核心产品链路性能• 水位、预警、预测,告警通知,扩容;

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

容量规划• 容量监控 - 实时透明• 容量预警 - 告警值班• 容量预测 - 模型预估• 容量扩容 – 充分 (N)余量

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

交流议题• 性能测试烦恼问题,以及性能发展趋势

• 如何建设适宜的性能测试平台• 轻量级性能测试• 如何控制性能测试成本?

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

旺旺:耿电邮箱: [email protected]微博:亚拉冈王 _ 耿电

天猫测试博客: http://tmalltesting.com/