作者简介
Sedro,携程资深测试工程师,专注于测试技术探索及测试工具研发。
一、应用性能问题
在我们过往的测试及生产问题的分析中,常常可以发现应用执行数据库操作导致出现性能问题的情况。而这些情况中最常见的原因是SQL执行时,索引未能恰当的使用,例如未建索引、SQL条件没有利用索引、索引失效等。这些问题往往占据了性能问题的60%~80%原因。
二、AppTrace目标
发现应用性能问题中最主要的原因之一:慢SQL
以简便的手段获取应用可能存在的SQL性能问题点
降低测试人员发现慢SQL的技术难度
使应用SQL的性能侦测覆盖率达到近乎100%
侦测分析结果与生产真实情况接近
三、目标实现基本过程
四、AppTrace原理及实现
AppTrace分为三大组件:
CPTrace(CtripPaymentTrace)组件:该组件基于BTrace改造而来,用于抓取应用执行的SQL语句,并进行存储。此组件核心为两部分:
CPTraceClient:作用为编译通用监控脚本,使得CPTrace Agent具备抓取应用SQL的能力。
CPTraceAgent:功能为抓取应用的SQL,并将其持久化保存。
AppTraceAgent组件:该组件用于将CPTrace抓取到的SQL进行解析,并通讯至AppTrace Server供其进行分析(采用MQ进行数据传输)。
AppTraceServer组件:对接收到的SQL调用生产mirror库的执行计划进行解析,对解析结果按照预设规则进行性能风险判定。
方法上的注解@OnMethod
属性上的注解
定位执行效率低的SQL语句(定位) 分析为什么这段SQL执行的效率比较低(分析) 根据第二步分析的结果采取优化措施(解决)
五、小结
携程是如何在测试时做精准流量筛选的 携程APP/Web功能和视觉测试平台-Watcher 基于 BDD 理念的 UI 自动化测试在携程度假的应用 携程基于Mirror集群的自助性能测试实践 《携程架构实践》《携程人工智能实践》上市啦!

《携程架构实践》

京东

当当

《携程人工智能实践》

京东

当当

“携程技术”公众号
分享,交流,成长
文章转载自携程技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1831次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
856次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
594次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
493次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
480次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
457次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
398次阅读
2025-04-07 09:44:54
天津市政府数据库框采结果公布!
通讯员
357次阅读
2025-04-10 12:32:35
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
348次阅读
2025-04-17 17:02:24
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
334次阅读
2025-04-18 10:01:22