벤치마킹 개요


대부분의 벤치마크 결과는 일시적입니다. 터미널이 스크롤백 한계에 도달하면 사라집니다. 일부 벤치마크 하네스는 결과를 캐시할 수 있게 해주지만, 대부분은 로컬에서만 가능합니다. Bencher는 로컬 및 CI 실행에서 벤치마크를 추적하고 이를 히스토리와 비교할 수 있게 해줍니다.

벤치마크를 추적하는 가장 쉬운 방법은 bencher run CLI 서브커맨드입니다. 이는 기존 벤치마크 하네스 출력을 래핑하고 보고서를 생성합니다. 이 보고서는 Bencher API 서버로 전송되어, 벤치마크 하네스 어댑터를 사용해 벤치마크 하네스 출력을 파싱합니다. 벤치마크 하네스 어댑터는 존재하는 모든 벤치마킹과 이에 대응하는 메트릭을 감지합니다. 이들 벤치마크와 메트릭은 보고서와 함께 저장됩니다. 임계값이 설정되어 있다면, 새로운 메트릭이 각 보고서에 존재하는 벤치마크의 히스토리 메트릭과 비교되게 됩니다. 회귀를 감지하면, 알림이 생성됩니다.

이 시점부터 “벤치마크”를 “성능 회귀 테스트”라고 부르겠습니다. 이로 인한 혼란을 피하기 위함입니다.

벤치마크

벤치마크는 이름이 붙은 성능 회귀 테스트입니다. 성능 회귀 테스트가 Bencher에게 새로운 경우, 자동으로 벤치마크가 생성됩니다. 그렇지 않다면, 성능 회귀 테스트의 이름이 벤치마크의 고유 식별자로 사용됩니다.

성능 회귀 테스트의 이름을 변경할 때는 주의해야 합니다. 새 이름에 맞게 Bencher에서 벤치마크의 이름을 수동으로 변경해야 합니다. 그렇지 않다면, 이름이 변경된 성능 회귀 테스트는 새로운 벤치마크로 간주됩니다. 이 경고는 _이동_하는 일부 성능 회귀 테스트에도 적용됩니다. 벤치마크 하네스에 따라, 성능 회귀 테스트의 경로가 이름의 일부일 수 있습니다.

위의 경고사항에 유일한 예외는 벤치마크를 무시하는 경우입니다. 전체 개요는 알림 억제를 참조하세요.

메트릭

메트릭은 한 시점의 성능 회귀 테스트 결과입니다. 하나의 메트릭에 대해 최대 세 가지 측정치를 수집할 수 있습니다: value, lower_value, 그리고 upper_value. value는 모든 메트릭에 필수이며, lower_valueupper_value는 독립적으로 선택적입니다. 어떤 측정치가 수집되는지는 벤치마크 하네스 어댑터에 의해 결정됩니다.

메트릭 종류

메트릭 종류는 메트릭의 측정 단위입니다. 기본적으로 모든 프로젝트는 LatencyThroughput 메트릭 종류로 시작하며, 단위는 각각 나노초(ns)초 당 연산(ops/s)입니다. 메트릭 종류는 벤치마크 하네스 어댑터에 의해 결정됩니다.


보고서

보고서는 특정 브랜치와 테스트베드에 대한 벤치마크와 그들의 메트릭 모음입니다. 보고서는 대부분 bencher run CLI 서브커맨드를 사용해 생성됩니다. 전체 개요는 성능 회귀 테스트 추적하는 방법을 참조하세요.

브랜치

브랜치는 보고서를 실행할 때 사용되는 git ref(즉, 브랜치 이름 또는 태그)입니다. 기본적으로 모든 프로젝트는 main 브랜치로 시작합니다. bencher run CLI 서브커맨드를 사용하면, 제공되지 않는 경우 main이 기본 브랜치입니다. 전체 개요는 브랜치 선택을 참조하세요.

테스트베드

테스트베드는 보고서를 실행할 때 사용되는 테스팅 환경의 이름입니다. 기본적으로 모든 프로젝트는 localhost 테스트베드로 시작합니다. bencher run CLI 서브커맨드를 사용할 때, 제공되지 않는 경우 localhost가 기본 테스트베드입니다.



🐰 축하합니다! 벤치마크 성능 회귀 테스트를 추적하는 방법에 대해 모두 배웠습니다! 🎉


계속 진행: bencher run CLI 서브커맨드 ➡

🤖 이 문서는 OpenAI GPT-4에 의해 자동으로 생성되었습니다. 정확하지 않을 수도 있고 오류가 있을 수도 있습니다. 오류를 발견하면 GitHub에서 문제를 열어주세요.


Published: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Wed, March 27, 2024 at 7:50:00 AM UTC