Skip to main content
QUICK REVIEW

[논문 리뷰] Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World

André van Hoorn, Pooyan Jamshidi|arXiv (Cornell University)|2017. 09. 26.
Software System Performance and Reliability참고 문헌 7인용 수 6
한 줄 요약

이 논문은 자동화된 성능 테스팅, 웜업 프로파일링, 워크로드 샘플링를 통해 DevOps에 성능 공 ingeneering을 통합하는 프레임워크를 제안한다. 이는 테스트 실행 오버헤드를 줄이고, 코드 변경 사항과 관련된 행동에 기반해 우선순위를 정함으로써 성능 저하에 대한 시의적인 피드백을 가능하게 하여, 고속도 환경에서 테스트 시간을 크게 단축시킨다.

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.

연구 동기 및 목표

  • 자주 배포되는 환경에서 전통적인 성능 테스팅이 비실용적이므로, 고속도 DevOps 파이프라인에 성능 테스팅을 통합하는 데 도전하는 것.
  • 워름업 기간 자동 결정 및 최소한의 대표 워크로드 식별을 통해 성능 테스팅의 운영 오버헤드를 줄이는 것.
  • 코드 변경 사항, 테스트 유틸리티, 상관 그룹에 기반해 테스트를 스케줄링하여 개발자에게 빠른 피드백을 제공하는 것.
  • 운영 데이터를 활용해 성능 테스팅과 버그 분석을 이끌어내어 개발과 운영 간 격차를 메우는 것.
  • 소프트웨어 공학, 성능 공학, 클라우드 컴퓨팅 연구자 간의 교차 분야 협업을 촉진하여 성능 인지 DevOps를 발전시키는 것.

제안 방법

  • 대규모 테스트 레포지터리와 자동화된 성능 테스트 결과 분석을 통합한 지속적인 성능 개선을 위한 DevOps 파이프라인 개선을 제안한다.
  • JMeter 기반 로드 테스트 스크립트를 사용하고 자동 분석을 통해 애플리케이션 업데이트 간 성능 저하를 탐지한다.
  • 시간 시리즈 테스트 메트릭에서 패턴 인식을 활용한 자동 웜업 프로파일링을 도입하여 최적의 웜업 및 측정 기간을 결정한다.
  • 통계적 분석을 적용하여 전체 테스트 실행 없이도 핵심 성능 저하를 포착할 수 있는 실제 워크로드의 대표 부분집합을 식별한다.
  • 코드 변경 영향, 테스트 유틸리티, 상관 그룹 내 소속도를 기반으로 테스트 우선순위를 정하여 중복 실행을 줄인다.
  • 고가용성 시스템의 생존성 모델링을 통합하여 성능 테스팅을 시스템 가용성 및 장애 복구 목표와 일치시킨다.

실험 결과

연구 질문

  • RQ1고속도 DevOps 파이프라인에 성능 테스팅을 자동화하고 통합하면서도 과도한 실행 오버헤드를 유발하지 않게 할 수 있는가?
  • RQ2런타임 메트릭을 기반으로 자동으로 최적의 웜업 및 측정 기간을 결정할 수 있는 기법은 무엇인가?
  • RQ3실제 워크로드의 어느 대표 부분집합이 전체 테스트 실행 없이도 중요한 성능 저하를 효과적으로 탐지할 수 있는가?
  • RQ4코드 변경 사항, 테스트 유틸리티, 상관 패턴에 기반해 테스트 우선순위를 어떻게 설정할 수 있을까? 이는 회귀 오류 탐지 효율성을 극대화하는 데 기여한다.
  • RQ5소프트웨어 공학, 성능 공학, 클라우드 컴퓨팅 분야 간의 교차 공동 연구가 성능 인지 DevOps 발전에 어떤 역할을 할 수 있는가?

주요 결과

  • 시간 시리즈 메트릭 패턴 기반 자동 웜업 프로파일링은 안정된 테스트 조건을 결정하는 데 필요한 시간을 크게 줄여주며, 수동 작업과 변동성을 최소화한다.
  • 100퍼센트 이상의 성능 저하를 포착할 수 있는 워크로드의 대표 부분집합을 식별하면, 테스트 실행 시간을 줄이되 탐지 능력을 훼손하지 않는다.
  • 코드 변경 사항과 상관 그룹에 기반해 성능 테스트를 우선순위 정렬하면 중복 실행을 줄이고 DevOps 파이프라인 내 피드백 사이클을 가속화할 수 있다.
  • 고가용성 시스템 모델링과 성능 테스팅을 통합하면 장애 복구 시간 평가가 향상되고 시스템의 생존성이 향상된다.
  • 소프트웨어 공학, 성능 공학, 클라우드 컴퓨팅 연구자 간의 교차 공동 연구는 성능 인지 DevOps의 체계적 과제를 해결하는 데 필수적이다.
  • 제안된 접근법은 코드, 설정, 하드웨어, 실행 수 등 여러 차원이 복합적으로 작용하는 테스트 시간 폭발 문제를 해결하여 확장 가능하고 시의적인 성능 피드백을 가능하게 한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.