Skip to content

개발 서버 Tomcat 설정 상향 및 lookup k6 검증 후속 #259

Description

@Whale0928

배경

lookup API k6 검증 중 dev product-api에서 50 VU stress 단계에 liveness/readiness probe timeout이 발생했고, Pod가 1회 재시작되었습니다.

확인 내용

  • dev product-api: replicas=1, cpu=500m/1500m, memory=2Gi/6Gi
  • dev product-api 기존 Tomcat 설정: threads.max=15, max-connections=20, connection-timeout=5000
  • prod product-api: replicas=2, Tomcat threads.max=200, max-connections=2000
  • dev admin-api도 prod 대비 낮은 15/20 설정
  • health probe는 앱 트래픽과 동일한 8080 포트를 사용

원인 가설

서버 리소스 부족보다는 dev Tomcat connection/thread 상한이 낮아 k6 50 VU에서 health probe가 starvation 되었고, kubelet liveness 실패로 재시작된 것으로 판단합니다.

조치

  • dev product-api Tomcat 설정을 prod와 동일하게 상향
    • threads.max: 200
    • max-connections: 2000
    • connection-timeout: 30000
  • dev admin-api Tomcat 설정을 prod와 동일하게 상향
    • threads.max: 100
    • max-connections: 500
    • connection-timeout: 30000

관련 커밋

  • bottle-note-api-server: 0a6a63e4 fix: 개발 서버 Tomcat 설정 상향
  • bottle-note-api-server: 404f930a fix: lookup 캐시 기본 활성화

후속 검증

  • dev 배포 후 lookup k6 Load/Stress 재실행
  • product-api Pod restart count 유지 여부 확인
  • p95/p99, http_req_failed, liveness/readiness event 확인
  • 필요 시 lookup 성공 요청 INFO 로그 제외 또는 actuator management port 분리 검토

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions