feat(lps): API 스케일 파라미터를 .env 로 노출 — PROCESS_COUNT·커넥션 예산
주석 상태였던 PROCESS_COUNT/DB_CONNECTION_BUDGET 를 활성화하되 서버별 값은 .env(LPS_API_PROCESS_COUNT, LPS_DB_CONNECTION_BUDGET)로 조정. 기본 1/40 — API 는 단일 프로세스로도 ~1,100 RPS(실측)라 평시 충분, 부하 대비 시에만 상향. 풀 자동 산정이 예산 초과를 방지. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
a267326bf7
commit
d4cee1caf7
@ -6,6 +6,10 @@
|
|||||||
LPS_DB_USER=postgres
|
LPS_DB_USER=postgres
|
||||||
LPS_DB_PASSWORD=postgres
|
LPS_DB_PASSWORD=postgres
|
||||||
|
|
||||||
|
# ── LPS API 스케일 (미설정 시 1 / 40 — 단일 프로세스로도 ~1,100 RPS) ──
|
||||||
|
LPS_API_PROCESS_COUNT=1 # uvicorn 프로세스 수(=사용 코어 수). 커넥션 풀은 예산에서 자동 역산
|
||||||
|
LPS_DB_CONNECTION_BUDGET=40 # lps API 커넥션 총예산. 공유 PG=40, 전용 PG(max_conn≈100)=90
|
||||||
|
|
||||||
# ── LPS 워커 시크릿 ──
|
# ── LPS 워커 시크릿 ──
|
||||||
OPENAI_API_KEY= # 비면 AI 유사도 판정 OFF
|
OPENAI_API_KEY= # 비면 AI 유사도 판정 OFF
|
||||||
NAVER_KEYS= # "id1:secret1,id2:secret2" — 네이버 쇼핑 오픈API 키(여러 개면 로테이션)
|
NAVER_KEYS= # "id1:secret1,id2:secret2" — 네이버 쇼핑 오픈API 키(여러 개면 로테이션)
|
||||||
|
|||||||
@ -130,8 +130,10 @@ services:
|
|||||||
PYTHONUNBUFFERED: "1"
|
PYTHONUNBUFFERED: "1"
|
||||||
# 멀티코어: PROCESS_COUNT(uvicorn 워커=코어수)를 올리면 커넥션 풀은 자동 산정된다.
|
# 멀티코어: PROCESS_COUNT(uvicorn 워커=코어수)를 올리면 커넥션 풀은 자동 산정된다.
|
||||||
# (pool+overflow)×2엔진×PROCESS_COUNT ≤ DB_CONNECTION_BUDGET 를 config 가 스스로 보장.
|
# (pool+overflow)×2엔진×PROCESS_COUNT ≤ DB_CONNECTION_BUDGET 를 config 가 스스로 보장.
|
||||||
# PROCESS_COUNT: "4"
|
# 값은 .env 에서 서버별로 조정(compose 수정 불필요). API 병목은 드묾 — 기본 1이면 충분,
|
||||||
# DB_CONNECTION_BUDGET: "40" # 전용 PG(max_connections≈100)면 90 근처로 상향
|
# 부하테스트/대량 폴링 대비 시에만 코어 수만큼 상향(예: 4).
|
||||||
|
PROCESS_COUNT: ${LPS_API_PROCESS_COUNT:-1}
|
||||||
|
DB_CONNECTION_BUDGET: ${LPS_DB_CONNECTION_BUDGET:-40} # 전용 PG(max_connections≈100)면 90 근처로 상향
|
||||||
ports:
|
ports:
|
||||||
- "9600:9600"
|
- "9600:9600"
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user