Skip to content

스레드 풀 사용률 관측 결손 — Tomcat(기본값 그대로, 지표 없음) + Python DetectorPool(사용률·대기 지표 전무) #678

Description

@Khyojae

배경

USE method Saturation 축 점검 중 발견. gRPC 서버 스레드풀은 이미 #598이 추적 중이라 그건 제외하고, 나머지 두 스레드/워커 풀의 관측 결손을 묶어 등록한다.

1. Tomcat 스레드풀

  • backend/src/main/resources/application.yml:290management.endpoint.prometheus를 include해 tomcat_threads_*/actuator/prometheus로 노출은 된다.
  • 그런데 monitoring/grafana/dashboards/shadowfit-backend.json엔 이 지표를 보여주는 패널이 없다.
  • docs/decisions/production-signal-checklist.md:338 — "Tomcat 스레드 풀 크기도 application.yml에 별도 설정 없이 기본값(200) 그대로 — 튜닝한 적 없음." 즉 사용률을 볼 수단도, 튜닝 근거도 둘 다 없는 상태.

2. Python DetectorPool (POSE_DETECTOR_POOL_SIZE)

  • ai-server/app/core/mediapipe_detector.py:322-361에 lease 기반 DetectorPool이 있다.
  • ai-server/app/observability/metrics.py:48-59에 정의된 지표는 spring_callback_total·active_sessions 둘뿐이고, 풀 사용률·대기(leases-in-use, wait count) 게이지는 전무하다(grep 전수 확인).
  • AI detector pool: POSE_DETECTOR_POOL_SIZE=160 인데 160 동시세션에서 nolease 98% #617("POSE_DETECTOR_POOL_SIZE=160인데 160 동시세션에서 nolease 98%")이 이 풀의 고갈 증상을 이미 잡았지만, 그건 일회성 부하테스트로 발견한 것이지 상시 계측이 아니다 — 같은 문제가 운영 중 다시 생겨도 대시보드로는 못 본다.

참고

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions