ringloRINGLO
목록

MCP 응답 200ms 아래로 — 캐시 하나로 끝

프로파일링 결과 병목은 매 요청마다 lore 전체를 다시 랭킹하는 부분이었다. 프로젝트당 lore는 수백 개 수준이라 랭킹 자체는 싸지만, 임베딩 로드가 매번 디스크를 쳤다.

임베딩을 메모리에 상주시키고 lore 변경 시에만 무효화. 코드 40줄, p95 480ms → 170ms. 교훈: 분산 캐시 설계부터 그리지 말 것. 병목은 항상 측정보다 시시하다.

PREV / EPUB 3 변환기 교체. 표지 이미지가 일부 리더에서 빠지던 버그 — spine에 cover-image 속성이 없었다.ARCHIVE / INDEX