Closed junha-ahn closed 1 year ago
성능 테스트 전반적 개념 학습
기준
참고
K6를 사용한다
성능 (single k6 instance)
성능 최적화 이후 "일정 성능 유지"를 위해 자동화한다
EKS Cluster를 환경에 따라 구분하지 않는다.
해당 프로젝트의 목적은 '성능테스트' 자체에 있기 때문에 PROD/DEV 환경등의 이중 구성이 필요하지 않다.
비용 문제를 고려해야 한다 (#37)
문제점
performanceTestLock
을 구성하고 테스트를 진행하는 등동일한 환경에서 어떻게 여러번의 부하 테스트를 진행할것인가? 즉 어떻게 초기화할 것인가?
애플리케이션 리소스와 모니터링 환경 및 데이터는 그대로 유지. 그 외 Stateful 리소스의 Data 초기화
향후 제약사항
PublicKey
가 필요하다.고려대상
결정
향후 Git Actions 테스트 자동화를 위해서는 Backend를 사용한다
cleanup endpoint를 만든다면?
즉 자동화 스크립트를 구현한다
ticketing-backend/
load-test/
bastion.pem # 인프라개발자에게 전달받는다
run.sh
k6-scripts/
db-init/ # db init scripts...
실제 구현시 최대한 의존성을 제거하고, 자동화한다
Docker-compose
를 통해서 진행 (성능테스트 스크립트 작성 이슈)두가지 테스트 결과가 존재한다.
K6 Report
dashboard.com?from=...&to=...
) 를 출력한다.stdout
으로 출력된다.
Description
해당 문서는 학습용 Document
실제 성능테스트 스크립트 작성은 https://github.com/f-lab-clone/ticketing-backend/issues/83 에서 진행
1. Database를 초기화한다
2. K6를 통한 성능테스트를 진행한다
3. Grafana 대시보드를 통해 결과를 확인한다
To do
Test Checklist
결과 슬랙 전송