中文

通过桥接局部性能数据与架构模型实现性能回归的早期检测

软件工程 2024-08-16 v1

摘要

在软件开发过程中,开发人员经常对软件进行大量修改以解决现有问题或实现新功能。然而,某些修改可能会无意中对整个系统性能产生不利影响。为确保新软件版本的性能不退化,现有实践依赖系统级性能测试(如负载测试)或组件级性能测试来检测性能回归。然而,对整个系统进行性能测试通常代价高昂且耗时,这对适应现代 DevOps 实践中常见的快速发布周期构成挑战。系统级性能测试无法在系统完全构建和部署之前进行。另一方面,组件级测试聚焦于孤立组件,忽视了整体系统性能和系统工作负载的影响。在本文中,我们提出了一种通过桥接组件级测试生成的局部性能数据与系统级架构模型来实现性能回归早期检测的新方法。我们的方法利用局部性能数据识别组件层面的偏差,然后将这些偏差传播到架构模型中。随后,我们利用架构模型预测整体系统的性能回归。我们在两个开源基准系统上评估了该方法,结果表明它能够有效地从局部性能偏差中检测出端到端的系统性能回归,且在不同强度和不同系统工作负载下均有效。更重要的是,与现有需要系统完全构建和部署的方法不同,我们的方法可以在开发阶段就检测到回归。我们的方法轻量级,可以在测试资源有限时补充传统的系统性能测试。

关键词

引用

@article{arxiv.2408.08148,
  title  = {Early Detection of Performance Regressions by Bridging Local Performance Data and Architectural Models},
  author = {Lizhi Liao and Simon Eismann and Heng Li and Cor-Paul Bezemer and Diego Elias Costa and Andre van Hoorn and Weiyi Shang},
  journal= {arXiv preprint arXiv:2408.08148},
  year   = {2024}
}