바로가기: 비교 매트릭스 · curl·임계 · 원격 수락 · FAQ
베이스 스택은 LM Studio·llama.cpp KV·M4 llama.cpp·Ollama와 맞추고, 게이트웨이·호환 라우팅은 vLLM OpenAI 호환·멀티 모델 비용·GenAI 관측으로 이어지세요.
왜 세 묶음인가
연결 재사용만으로 TTFT가 좋아져도 슬롯이 꽉 차면 큐가 지배합니다. ctx·배치·병렬을 한꺼번에 올리면 KV 상주가 급증하고 원격은 RTT+p95에 시간당 과금이 곱합니다. 원격에서는 핸드셰이크보다 큐 깊이가 체감 지연을 더 부풀립니다. 로컬 무릎점 후 SSH·동일 리전으로 동일 스크립트를 재생합니다.
비교 매트릭스(요약)
표는 시작값이며 차원·양자에 맞춰 조정합니다. 실측 없이 숫자만 복사하지 마세요.
| 축 | llama.cpp server | vLLM급 집계 | 원격 검수 힌트 |
|---|---|---|---|
| Keep-Alive 효용 | 단일 프로세스·고정 슬롯이라 연결당 오버헤드만 줄면 체감 큼 | 다중 요청 합류 시 핸드셰이크 절감이 상대적으로 희석될 수 있음 | 동일 연결 50회 재사용 시 RTT 합이 < 1.2× 단발 대기 |
| 동시성 모델 | --parallel 등 슬롯 고정 |
연속 배치·스케줄러 큐 | 목표 RPS에서 큐 길이 ≤ 4를 시작값 |
| KV·메모리 | 슬롯마다 전통 KV 블록 | 페이지드/블록 단위 재사용(구현 의존) | 스왑 0·압축 경고 0을 게이트로 |
| Mac 적합성 | Metal 경로에 가깝게 운용 사례 다수 | 본체는 Linux·CUDA 쪽이 일반적, Mac은 클라이언트·게이트 | 역할 분리 시 MLX KV와 충돌 점검 |
실행 가능 curl과 수락 임계(시작값)
127.0.0.1:8080을 실제 베이스로 바꿔 스모크합니다.
curl -sS -N --http1.1 -H "Connection: keep-alive" http://127.0.0.1:8080/healthOpenAI 호환 한 발은 아래처럼 고정 페이로드로 반복하세요.
curl -sS --http1.1 -H "Connection: keep-alive" -H "Content-Type: application/json" \
http://127.0.0.1:8080/v1/chat/completions \
-d '{"model":"local","messages":[{"role":"user","content":"ping"}],"max_tokens":32,"temperature":0}'수락 임계(부하 소크 10분·시작값). 원격 p95가 로컬 대비 1.5배 초과면 동시성·ctx를 함께 내립니다. HTTP 5xx <0.5%, TTFT p95 0.8~1.2s(모델·양자로 조정). Keep-Alive 30회 연속에서도 p95가 +20% 이상이면 슬롯 포화로 큐·타임아웃을 먼저 조정합니다. wrk·hey는 스크립트를 고정하고 OTel GenAI에 기록합니다.
원격 노드 비용 수락 한 줄과 체크리스트
매입은 장기 고정 워크로드에서 시간당 환산 단가를 낮추고, 렌탈은 단기 검증·피크 대응에서 재고·유지보수 리스크를 줄입니다(렌탈 체험 글 참고).
- 동일 리전 왕복 RTT 기록 + Keep-Alive on/off A/B 한 줄 표
- 슬롯·ctx 고정 후 RSS 플래토·스왑 0 확인
- 재시도 지수 백오프가 큐를 다시 채우지 않는지
- 시간당 요금×소크 길이를 라우팅 비용 표와 합산
FAQ
Keep-Alive만으로 부족? 슬롯·KV 포화 시 이득이 상쇄되고 p95가 선형 악화면 큐입니다. vLLM급 위치? 보통 GPU 리눅스에 두고 Mac은 게이트·평가. 런북? 헬스→짧은 completion→슬롯 스윕→p95→원격 동일 스크립트.