Conversation
- 05-store-list: DISTRICTS 한글 → 영문 enum 값으로 수정 (에러율 100% 원인) - 06-store-nearby: HTTP 요청에 고정 name 태그 추가 (Prometheus cardinality 폭발 방지) - docker-compose.prod.yml: 부하테스트 중 OOM 방지를 위한 컨테이너 메모리 한도 상향 (app 600M→1000M, prometheus 350M→800M, loki/grafana/redis/promtail/kafka 상향) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix: k6 테스트 버그 수정 및 메모리 한도 상향
There was a problem hiding this comment.
Code Review
This pull request increases memory limits for several services in the production Docker Compose configuration, updates district names to English in the k6 store list test, adds error logging to the store list test, and tags HTTP requests in the nearby store test. The review comments highlight two important issues: first, the total memory limits in docker-compose.prod.yml now exceed the 2GB capacity of a t3.small instance (which is still referenced in the file's comments), risking Out-Of-Memory (OOM) crashes; second, unconditional console logging on failed requests in the k6 load test can cause I/O bottlenecks and distort performance metrics, so it should be gated behind a debug environment variable.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| resources: | ||
| limits: | ||
| memory: 600M | ||
| memory: 1000M |
There was a problem hiding this comment.
현재 app 서비스의 메모리 제한이 1000M로 상향되었고, prometheus(800M), kafka(600M) 등 다른 서비스들의 메모리 제한도 함께 크게 증가하여 전체 서비스의 메모리 제한 합계가 약 3.5GB에 달합니다.\n\n하지만 파일의 10번째 라인 주석에는 여전히 t3.small 인스턴스(메모리 2GB)를 기준으로 한 설정이라고 명시되어 있습니다. 만약 실제 운영 환경이 여전히 t3.small 인스턴스에서 실행 중이라면, 물리 메모리 부족으로 인해 OOM(Out-Of-Memory) 발생 및 컨테이너 강제 종료가 일어날 위험이 매우 높습니다.\n\n운영 서버의 인스턴스 스펙이 업그레이드되었다면 10번째 라인의 주석을 최신 스펙에 맞게 수정해 주시고, 그렇지 않다면 전체적인 메모리 제한 설정을 다시 검토해 주세요.
| '목록 조회 200': (r) => r.status === 200, | ||
| '응답 body 존재': (r) => r.body && r.body.length > 0, | ||
| }); | ||
| if (!ok) console.log(`[ERROR] status=${res.status} url=${url} body=${res.body?.substring(0, 200)}`); |
There was a problem hiding this comment.
부하 테스트(특히 50 VU 이상의 Spike 테스트) 중에 실패한 모든 요청에 대해 console.log를 호출하면, k6 실행 러너에 과도한 I/O 부하를 주어 테스트 도구 자체의 성능 저하 및 응답 시간 왜곡(측정값 왜곡)을 초래할 수 있습니다.\n\n디버깅 목적이 아니라면 프로덕션 부하 테스트 실행 시에는 로그 출력을 최소화하거나, 에러율이 높을 때만 제한적으로 출력하도록 __ENV.DEBUG 같은 환경 변수를 통해 제어하는 것을 권장합니다.
| if (!ok) console.log(`[ERROR] status=${res.status} url=${url} body=${res.body?.substring(0, 200)}`); | |
| if (!ok && __ENV.DEBUG) console.log(`[ERROR] status=${res.status} url=${url} body=${res.body?.substring(0, 200)}`); |
📢 기능 설명
필요시 실행결과 스크린샷 첨부
연결된 issue
연결된 issue를 자동을 닫기 위해 아래 {이슈넘버}를 입력해주세요.
close #{이슈넘버}
✅ 체크리스트