导读:
最后分享一下ICDE 2022 PinSQL: Pinpoint Root Cause SQLs to Resolve Performance Issues in Cloud Databases 关于根因定位的paper,
本文主要讨论如何在大规模云数据库下经常遇到CPU/锁/活跃会话/主备延迟对造成这些现象的SQL Queries进行精确定位的问题,方法多种多样,思想殊途同归,先占个位,不仔细整理了,感谢参与的同学的contribution
Main Contributions:
1. 基于全量SQL模版数据,构建了根因SQL请求/被影响SQL以及数据库性能指标的关联关系模型,对比了Classification-based/TopN-based/Auto-regression等方法,产品上替代了AWS /Azure 等友商性能洞察功能的传统Top-N排序定位方法,解决了在复杂业务请求场景下根因SQL难以精确定位的问题;
2. 基于数据库全量请求明细数据,在不开启perf schema的情况下实现了AWS performance insight 的Average Active Session(AAS)精确定量推理估算,消除了为了计算AAS而开启perf schema对数据库带来的性能损耗问题
3. 提出了Autonomous 根因诊断框架,实现了从自感知/自诊断/自优化/自修复整个流程的开放可编排定义。支持数据库多种根因定位场景的动态扩展(负载变化/请求变化/烂SQL/锁等待/主备延迟等)以及自动修复场景(限流/SQL优化/AutoScale),解决了根因定位新场景不断迭代过程中,场景支持效率问题
Motiviation:
Motivation 1:
How to effectively obtain the individual active session of templates without interfering the DB in-stance performance?
如何推导mysql.active_session 与 sql_rt 的数量公式关系
Motivation 2:
How to distinguish Root Cause SQLs from massive SQLs through the located High-impact SQLs?
如果区分根因SQL和被影响SQL
Motivation 3:
How to efficiently react to anomalies caused by SQL queries?
对比传统排序算法,SQL定位实验结果远超排序算法
Related Work:
相关场景案例