一句话:提出桥接组件级局部性能数据与系统架构模型的方法,在开发阶段早期预测端到端性能回归。
软件开发中的修改可能无意损害系统性能,因此需要检测性能回归。现有系统级负载测试成本高、耗时长且需完整部署;组件级微基准测试则局限于孤立组件,忽略整体系统性能与工作负载影响。本文提出一种早期检测方法:利用组件级测试的局部性能数据识别组件层偏差,将其传播到系统级架构模型,再由模型预测整体系统性能回归。在两个代表性开源基准系统上的评估表明,该方法能在不同偏差强度和多种工作负载下有效检测端到端性能回归,并可在开发阶段早期发现回归,而传统方法需系统完整构建部署。该方法轻量,可在测试资源稀缺时补充传统系统性能测试。
During software development, developers often make numerous modifications to the software to address existing issues or implement new features. However, certain changes may inadvertently have a detrimental impact on the overall system performance. To ensure that the performance of new software re-leases does not degrade (i.e., absence of performance regressions), existing practices rely on system-level performance testing, such as load testing, or component-level performance testing, such as microbenchmarking, to detect performance regressions. However, performance testing for the entire system is often expensive and time-consuming, posing challenges to adapting to the rapid release cycles common in modern DevOps practices. In addition, system-level performance testing cannot be conducted until the system is fully built and deployed. On the other hand, component-level testing focuses on isolated components, neglecting overall system performance and the impact of system workloads. In this paper, we propose a novel approach to early detection of performance regressions by bridging the local performance data generated by component-level testing and the system-level architectural models. Our approach uses local performance data to identify deviations at the component level, and then propagate these deviations to the architectural model. We then use the architectural model to predict regressions in the performance of the overall system. In an evaluation of our approach on two representative open-source benchmark systems, we show that it can effectively detect end-to-end system performance regressions from local performance deviations with different intensities and under various system workloads. More importantly, our approach can detect regressions as early as in the development phase, in contrast to existing approaches that require the system to be fully built and deployed. Our approach is lightweight and can complement traditional system performance testing when testing resources are scarce.
DOI 原文 ·
@inproceedings{paperbot8775,
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},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00026}
}