Skip to main content
QUICK REVIEW

[Paper Review] Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World

André van Hoorn, Pooyan Jamshidi|arXiv (Cornell University)|Sep 26, 2017
Software System Performance and Reliability7 references6 citations
TL;DR

This paper presents a framework for integrating performance engineering into DevOps through automated performance testing, warm-up profiling, and workload sampling to reduce test execution overhead. It enables timely feedback on performance regressions by prioritizing tests based on code changes and correlated behavior, significantly cutting testing time in high-velocity environments.

ABSTRACT

This report documents the program and the outcomes of GI-Dagstuhl Seminar 16394 "Software Performance Engineering in the DevOps World". The seminar addressed the problem of performance-aware DevOps. Both, DevOps and performance engineering have been growing trends over the past one to two years, in no small part due to the rise in importance of identifying performance anomalies in the operations (Ops) of cloud and big data systems and feeding these back to the development (Dev). However, so far, the research community has treated software engineering, performance engineering, and cloud computing mostly as individual research areas. We aimed to identify cross-community collaboration, and to set the path for long-lasting collaborations towards performance-aware DevOps. The main goal of the seminar was to bring together young researchers (PhD students in a later stage of their PhD, as well as PostDocs or Junior Professors) in the areas of (i) software engineering, (ii) performance engineering, and (iii) cloud computing and big data to present their current research projects, to exchange experience and expertise, to discuss research challenges, and to develop ideas for future collaborations.

Motivation & Objective

  • Address the challenge of integrating performance testing into high-velocity DevOps pipelines where frequent deployments make traditional performance testing impractical.
  • Reduce the operational overhead of performance testing by automating warm-up period determination and identifying minimal representative workloads.
  • Enable timely feedback to developers by scheduling performance tests based on code changes, test utility, and correlation groups.
  • Bridge the gap between development and operations by leveraging operational data to guide performance testing and regression analysis.
  • Foster cross-disciplinary collaboration among software engineering, performance engineering, and cloud computing researchers to advance performance-aware DevOps.

Proposed method

  • Proposes a DevOps pipeline enhanced with continuous performance improvement using large-scale test repositories and automated analysis of performance test results.
  • Employs JMeter-based load testing scripts with automated analysis to detect performance regressions across application updates.
  • Introduces automated warm-up profiling using pattern recognition in time-series test metrics to determine optimal warm-up and measurement durations.
  • Applies statistical analysis to identify representative subsets of real-world workloads that capture critical performance regressions without full test execution.
  • Uses test prioritization based on code change impact, test utility, and membership in correlated test groups to reduce redundant test runs.
  • Integrates survivability modeling of high-availability systems to align performance testing with system availability and failure recovery goals.

Experimental results

Research questions

  • RQ1How can performance testing be automated and integrated into high-velocity DevOps pipelines without incurring excessive execution overhead?
  • RQ2What techniques can automatically determine optimal warm-up and measurement periods for performance tests based on runtime metrics?
  • RQ3Which representative subsets of real-world workloads can effectively detect significant performance regressions while minimizing test execution time?
  • RQ4How can test prioritization be guided by code changes, test utility, and correlation patterns to maximize regression detection efficiency?
  • RQ5What role can cross-community collaboration between software engineering, performance engineering, and cloud computing play in advancing performance-aware DevOps?

Key findings

  • Automated warm-up profiling based on time-series metric patterns can significantly reduce the time required to determine stable test conditions, minimizing manual effort and variability.
  • Identifying representative subsets of workloads that capture 100% or greater performance regressions can reduce test execution time without sacrificing detection capability.
  • Prioritizing performance tests based on code changes and correlation groups reduces redundant test runs and accelerates feedback cycles in DevOps pipelines.
  • The integration of performance testing with high-availability system modeling improves failure recovery time assessment and enhances system survivability.
  • Cross-community collaboration among software engineering, performance engineering, and cloud computing researchers is essential for addressing the systemic challenges of performance-aware DevOps.
  • The proposed approach reduces the testing time explosion caused by multiple dimensions (code, config, hardware, runs), enabling scalable and timely performance feedback.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.