论文标题
软件性能工程不断发展的景观
The Evolving Landscape of Software Performance Engineering
论文作者
论文摘要
令人满意的软件性能对于产品的采用和成功至关重要。在遵循传统软件开发模型(例如瀑布)的组织中,软件性能工程(SPE)涉及耗时的实验建模和性能测试。但是,这种现有的SPE方法并未针对使用连续集成(CI)和连续交付(CD)的环境进行优化,从而导致高频和大量代码更改。我们介绍了经验教训的摘要,并提出了在CI/CD的背景下对SPE过程的改进。我们的发现基于在在线服务公司X上进行5年以上的产品A和B的SPE工作。我们发现,(a)SPE主要根据生产环境的数据成为事后活动,(b)成功地应用SPE技术需要经常重新评估优先级,并且(c)在SPE上使用SPE的工程师需要更广泛的技能,需要与一位传统上具有的工程效果相比,需要更广泛的技能。
Satisfactory software performance is essential for the adoption and the success of a product. In organizations that follow traditional software development models (e.g., waterfall), Software Performance Engineering (SPE) involves time-consuming experimental modeling and performance testing outside the actual production environment. Such existing SPE methods, however, are not optimized for environments utilizing Continuous Integration (CI) and Continuous Delivery (CD) that result in high frequency and high volume of code changes. We present a summary of lessons learned and propose improvements to the SPE process in the context of CI/CD. Our findings are based on SPE work on products A and B conducted over 5 years at an online services company X. We find that (a) SPE has mainly become a post hoc activity based on data from the production environment, (b) successful application of SPE techniques require frequent re-evaluation of priorities, and (c) engineers working on SPE require a broader skill set than one traditionally possessed by engineers working on performance.