一句话:提出 Perfce,用混沌工程增强因果分析,离线学习统计模型并在线定性与定量诊断数据库性能异常根因。
数据库性能异常调试困难。因果推断可对性能下降进行定性和定量根因分析,但实际中受可观测性有限等限制。本文提出将混沌工程从软件测试拓展到数据库性能异常诊断的框架 Perfce。Perfce 分为离线与在线两阶段:离线阶段结合被动观测和主动混沌实验学习数据库统计模型;在线阶段实时从定性和定量角度诊断性能异常根因。评估表明,Perfce 在合成数据集上优于先前工作,并在 MySQL、TiDB 等真实(分布式)数据库上具有高准确率和中等开销。
Debugging performance anomalies in databases is challenging. Causal inference techniques enable qualitative and quantitative root cause analysis of performance downgrades. Nevertheless, causality analysis is challenging in practice, particularly due to limited observability. Recently, chaos engineering (CE) has been applied to test complex software systems. CE frameworks mutate chaos variables to inject catastrophic events (e.g., network slowdowns) to stress-test these software systems. The systems under chaos stress are then tested (e.g., via differential testing) to check if they retain normal functionality, such as returning correct SQL query outputs even under stress. To date, CE is mainly employed to aid software testing. This paper identifies the novel usage of CE in diagnosing performance anomalies in databases. Our framework, PERFCE, has two phases - offline and online. The offline phase learns statistical models of a database using both passive observations and proactive chaos experiments. The online phase diagnoses the root cause of performance anomalies from both qualitative and quantitative aspects on-the-fly. In evaluation, Perfce outperformed previous works on synthetic datasets and is highly accurate and moderately expensive when analyzing real-world (distributed) databases like MySQL and TiDB.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{JiMW23,
title = {Perfce: Performance Debugging on Databases with Chaos Engineering-Enhanced Causality Analysis},
author = {Zhenlan Ji and Pingchuan Ma and Shuai Wang},
booktitle = {ASE},
year = {2023},
doi = {10.1109/ase56229.2023.00106}
}