k6 가상 사용자 + 점진적 RPS 상승 + 핵심 엔드포인트 집중 + DB 연결 풀 한계 발견 경험
졸업 프로젝트에서 배포 전에 서버가 얼마나 버틸 수 있는지 확인하기 위해 스트레스 테스트를 처음 진행했습니다. 시나리오 측면에서는 점진적으로 동시 사용자 수를 늘려가면서 어느 지점에서 응답이 급격히 느려지는지 확인하는 방식을 사용했습니다. 도구 측면에서는 k6로 가상 사용자를 설정하고 목표 RPS를 단계적으로 올리는 스크립트를 작성했습니다. 범위 측면에서는 API 전체가 아니라 가장 자주 호출되는 엔드포인트 3개에 집중해서 결과의 신뢰성을 높였습니다. 테스트 결과 DB 연결 풀이 한계에 도달했을 때 에러율이 급증하는 패턴을 확인해서 연결 풀 크기를 조정했습니다. 스트레스 테스트에서 중요한 건 어떤 조건을 테스트하는지 미리 정의해두는 것이라는 걸 배웠습니다.
성능 문제는 실제 부하를 줘봐야 어디서 먼저 터지는지 알 수 있다는 걸 그때 배웠습니다.