上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

A3--刘鹏威--华为云交易平台性能看护10倍质效提升之路.pdf

编号:152045 PDF 36页 12.74MB 下载积分:VIP专享
下载报告请您先登录!

A3--刘鹏威--华为云交易平台性能看护10倍质效提升之路.pdf

1、华为云交易平台性能看护10倍质效提升之路刘鹏威华为云高级测试工程师刘鹏威从事性能测试与调优工作5年,对云化微服务框架下的性能测试架构有深刻的理解。主导构建了华为云交易平台的devops全流程性能看护框架。参与保障历次华为云大促。目前从事性能测试智能化相关工作。华为云高级测试工程师嘉宾照片目录CONTENTS01 交易平台性能测试架构实践的背景介绍02 指标&弹性测试自动化实践03 SQL性能质量自动化看护实践04 线上监控测试线上监控测试05 01议题背景背景介绍挑战:1、被测系统数百微服务、万级接口、十万级SQL,实验室覆盖率低2、微服务架构下场景调用链复杂,测试过程繁琐,测试周期长,人员投

2、入大,匹配不了版本发布要求3、业务迭代快,性能波动频繁,日常测试中定位性能波动的根因困难4、线上性能问题影响面广,服务要求性能质量高5、业务模型复杂,实验室测不准解决方案u SQL性能质量自动分析u 核心场景性能自动化看护u 性能瓶颈自动根因定位u 线上监控测试,发现性能风险,线下测试闭环风险u 线上性能模型自动挖掘,纠正实验室模型02交易平台性交易平台性能测试架构能测试架构交易平台云化性能测试架构测试质量评估性能瓶颈自动定界线上模型发掘在线性能风险分析性能E2E环境:POD弹性伸缩+资源监控+JVM+APM基础环境技术&实践Gamma类生产测试alpha组件测试Product线上测试压力弹性

3、扩容测试自动化性能问题快速感知动态SQL自动测试大促保障压测性能风险识别用例自动执行SQL自动测试SQL质量评估弹性扩容评估大促保障评估核心场景性能基线评估接口/场景性能基线测试自动化数据量X倍测试性能模型挖掘Beta集成测试静态SQL扫描测试评估03指标指标&弹性弹性测试自动化测试自动化指标指标&弹性测试弹性测试自动化实践自动化实践u 场景性能自动化看护u 性能弹性扩容测试自动化u 性能瓶颈自动根因定位u 性能波动全息数据对比分析主要技术能力:性能指标基线自动化测试风险场景选取:业务核心场景现网高频高耗场景需求高频变化场景执行频率:微服务独立发布,微服务关联用例执行版本集中发布,全量用例执行

4、性能下降评判条件:TPS、时延低于基线值GC次数恶化资源使用率增加目的:看护风险场景性能不下降弹性测试自动化弹性扩缩容能力是云原生服务的基本要求,测试和日常看护过程中遇到微服务多、交互复杂、测试验证复杂度高,测试成本高的困难。日志调用链Mem慢SQL压力机分析结果数据库Flink分析工作流CPU中间件数据源kafka子系统服务瓶颈分析性能全息监控弹性压测控制性能数据全息比对分析JVM弹性扩容测试自动化总体架构性能瓶颈自动根因定位问题建模:问题建模:目标函数:目标函数:以TPS为目标函数,TPS陡降、时延陡增点即为过载压力点搜索步长:搜索步长:以TPS增加梯度为步长,TPS增长快的区域,步长大,

5、利于快速爬坡过过压力点断定算法:压力点断定算法:1、初始化状态为1并发,增加到X并发压力作为首次步长2、判断两点的TPS比率rat,如果比率大于1,增加压力*rat,重复第二步,如果比率小于1,跳转到第三步3、如果比率小于1,停止爬坡,输出结果典型系统压力性能变化曲线达到性能瓶颈时如何自动的感知实际测试中,经常遇到抖动突变点(GC、网络抖动、其他事件影响等),这样会导致算法进入鞍点,不能有效找到过载点鞍点,到达这里可能搜索停止解决方案:解决方案:1、采用中值滤波来进行预处理,去除脉冲噪声2、在某个并发压力点上压测一段时间,取其平均TPS,可有效去除其噪点。两种方案结合,可使算法的鲁棒性大幅提升

6、性能瓶颈自动根因定位SUT资源JVM采集调用链采集结果存储微服务分析计算消息队列DCSRDSAPM自动定界定位架构实现方案:实现方案:1、基于微服务视角的信息聚合聚合微服务的CPU、MEM、FGC、处理失败率及其关联的DB、缓存监控等信息研判微服务健康度。微服务健康级别分为严重、告警、正常。2、基于微服务自身时延的瓶颈定界 依据调用链构建接口调用树。计算每个树节点的自身时延。汇聚相同调用链相同节点的自身时延数据,计算所有调用的平均自身时延。系统达到过压后,时延最长的子链就是瓶颈点。链路耗时分段计算微服务A微服务B微服务D微服务C微服务A微服务微服务A微服务微服务B微服务微服务C微服务微服务D微

7、服务D12435某接口调用链.RT(A_1)=RT(Total)RT(AB)RT(B_1)=RT(AB)RT(BD)-RT(BC)RT(A_2)=RT(DA)RT(A_1)=X1RT(B_1)=Y1RT(A_2)=Z1.AVGRT(A_1)=AVG(x)AVGRT(B_1)=AVG(y)AVGRT(A_2)=AVG(z)RT(A_1)=XnRT(B_1)=YnRT(A_2)=Zn.某秒内第一次调用计算结果最后一次调用计算结果聚合该秒内的各段平均时延自动瓶颈定界步骤:自动瓶颈定界步骤:1、依据调用链生成树形调用图,遍历各节点计算自身时延2、按秒汇聚相同调用链的各子时延,计算平均子时延3、形成子时

8、延压力增加时序图,明显增长的子时延即为瓶颈点。如图:子链A增长率高,处理子链A的微服务既是瓶颈。子链耗时时序图瓶颈定位子链耗时性能波动对比分析使用使用场景场景:版本更新后性能出现下降,需要定位出下降的微服务及其处理流程 时延恶化明显,快速定位至微服务和处理阶段瓶颈点,识别瓶颈扩容扩容后性能无提升,停止测试时延抖动,噪点数据测试报告自动生成:1、每步扩容发现的瓶颈微服务2、每次扩容后的最大性能值3、最终测试结果和扩容不再提升性能的微服务瓶颈点,识别瓶颈扩容弹性扩容自动测试过程瓶颈点,识别瓶颈扩容04SQL性能质量自性能质量自动化看护动化看护SQL性能自动测试架构测试环境SQL线上慢SQL动态执行

9、计划测试静态规范检查性能风险SQLSQL自动测试架构自动测试架构开发态静态SQL交易平台作为数据库强依赖性能产品,SQL性能决定系统整体性能SQL执行计划动态测试测试微服务字节码增强com.mysqlDBSelect*from Explain Select*from 执行计划分析平台执行计划上报执行计划规则检查识别性能风险SQL线上微服务字节码增强com.mysql主库Select*from 执行计划分析平台拦截SQL上报从库实验室获取执行计划线上获取执行计划业务闲时获取执行计划1、全表扫描2、分区表无分区字段3、使用Using File sort4、使用Using temporary5、索引

10、全扫描.SQL静态检查 SELECT*FROM t_order WHERE 1=1 AND userId=#userId AND concat(order,XXX)=#orderId AND name like CONCAT(%,#name)AND sourceOperation IN#item Group by substr(createTime,1,10)Mybatis的原始SQL依据规则的静态检查1、Where条件中字段有表达式concat(order,XXX)=#orderId2、Like条件左通配like CONCAT(%,#name)3、Select选取了全列SELECT*4、使用

11、了foreach拼接,可能list超大5、orderby 或groupby中使用表达式Group by substr(createTime,1,10).依据规则扫描的风险项05线上性能监控测线上性能监控测试试在线性能态势感知 线上性能实时监控,性能问题快速感知u 接口性能监控u 服务性能监控u DB性能监控u 事件、任务类监控 性能风险感知,全面诊断系统,提前闭环风险u 接口时延恶化分析u 接口流控率分析u 服务恶化分析u 数据库恶化分析 性能模型建模,提升测试精准度u 场景流量建模u 场景数据模型建模线上接口性能实时监控接口请求点阵图,接口时延跳变告警告警触发1、接口平均时延突变2、接口失败

12、率增高3、接口压力突变4、敏感客户请求时延突变线上服务及数据库性能实时监控告警触发1、服务GC突增2、服务CPU突增3、服务内存突增4、服务IO/网络突增5、DB连接池占比增高6、DB CPU/IO持续高7、慢SQL次数高接口性能恶化分析月度分析时延恶化的接口月度分析时延恶化的接口1、基于XGBoost监督学习算法,依据时延波形识别恶化2、分类为急剧恶化、一般恶化、未恶化突变型震荡上升型缓慢上升型服务性能风险分析多维度发掘服务性能风险特定日志模式识别Cant get connection from XXXPoolRejected by ThreadPool池资源占用率连接池、线程池使用增长率微

13、服务资源使用情况CPU、JVM、GC增长率接口表现情况所属接口的时延、压力增长率句柄、链接增长率数据库性能风险分析数据库性能风险慢SQL数据库慢SQL恶化表数据规模大表及数据增速资源使用情况持续高CPU/IO性能模型建模分析场景线上流量画像,设定接口指标有理有据场景线上流量画像,设定接口指标有理有据u 忙忙时平均压力时平均压力:接口timeout时间内调用量最大的一段所对应的TPS,代表系统受到的最大持续压力,接口测试性能值要达到X倍u 忙时峰值压力忙时峰值压力:TP95的峰值压力,代表平时经常所受到的峰值压力,性能值不能低于此值u 峰值峰值压力压力:代表一段时间内系统受到的最大浪涌压力,实验

14、室浪涌测试设置值,测试浪涌下系统能稳定响应。线上数据模型提取,实验室性能测试更准确线上数据模型提取,实验室性能测试更准确1、线上依据业务分类来统计各模块数据模型,校准实验室测试模型2、模型维度依赖于影响性能的要素,先要提取模型要求,再依据要素提取线上统计数据总结本文介绍了华为云交易平台的devops全程性能测试实践DEVOPS全流程的性能自动化看护框架:alpha阶段:SQL的动静态扫描与检查beta阶段:微服务核心接口的性能看护自动化、弹性扩容测试自动化gamma阶段:SQL动态性能质量评估ops阶段:线上性能监控、性能风险挖掘、性能模型感知测试质效提升效果:性能指标及弹性测试自动化,实现了压力自动调节、性能瓶颈自动定界、版本间恶化比对等能力,性能测试分析效能提升10倍。构建了时延恶化识别和多维度服务性能风险的风险感知能力,基于风险的测试更有效。线上场景性能流量和数据模型挖掘,性能指标定义和测试结果更加精准。感谢聆听关注QECon公众号

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(A3--刘鹏威--华为云交易平台性能看护10倍质效提升之路.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部