빠른 요약
- Cloudflare는 Pingora에서 적합한 자산을 저장 전에 Zstandard로 압축하고 전송 직전에 해제하는 Cache Transcoding을 실험하고 있다.
- 소폭의 CPU 비용으로 대규모 저장 공간과 데이터센터 간 대역폭을 절감할 수 있음을 보여 주는 설계다.
- 적중률이 높은 자산에 먼저 카나리를 적용하고 압축률, CPU, 지연, 대역폭을 비교한 뒤 범위를 넓힌다.
무슨 일이 있었나
CPU와 캐시 용량의 교환
Cloudflare는 메모리와 디스크 비용 상승에 대응해 Cache Transcoding이라는 구조를 시험하고 있다. 적합한 응답이 캐시에 들어오면 Pingora가 디스크에 기록하기 전에 Zstandard로 인코딩한다. 압축된 표현은 캐시에 머무르는 동안과 Tiered Cache를 통해 데이터센터 사이를 이동할 때 그대로 유지되며, 클라이언트에 응답하기 직전에만 해제된다.
초기 시험에서 대상 자산의 디스크 크기는 평균적으로 원본의 약 3분의 1까지 줄었다. 인코딩 비용은 캐시 유입 시 한 번만 발생하지만 저장 공간과 데이터센터 간 전송 절감은 자산이 재사용될 때마다 누적된다. 대신 오리진 방향 프록시의 CPU 사용량이 조금 늘기 때문에 단순한 압축 기능이 아니라 전체 인프라 비용을 비교해야 한다.
웹 인프라 팀의 적용 포인트
내부 저장 형식은 최종적으로 복원되는 바이트를 바꾸지 않으면서 클라이언트 전달 형식과 달라질 수 있다. 운영팀은 콘텐츠 유형별 압축률, 인코딩과 디코딩 CPU, 꼬리 지연, 캐시 적중률, 데이터센터 간 트래픽을 함께 측정해야 한다. 재사용률과 체류 시간이 높은 객체가 이미 압축됐거나 드물게 요청되는 파일보다 적합하다.
이 실험은 데이터의 전체 수명주기를 최적화해야 한다는 원칙도 보여 준다. 유입 시 한 번의 제한된 변환이 읽기와 복제 과정에서 반복적인 절감으로 이어질 수 있다. 다만 프로덕션 적용에는 카나리, MIME 허용 목록, CPU 예산, 관측 지표와 즉시 되돌릴 수 있는 경로가 필요하다.
평가 단계에서는 평균값만 보지 말고 객체 크기와 인기 구간별 분포를 확인해야 한다. 압축 효율이 낮거나 디코딩 지연이 큰 유형은 자동 제외하고, 용량 절감이 장기간 안정적으로 유지될 때 범위를 확대하는 정책이 운영 리스크를 낮춘다.
관련 글
- 뱅크샐러드에서 합법적으로 Vibe Coding 하는 법: DSL로 자유와 안정성 잡기
- 뱅크샐러드에서 테스트 데이터를 생성하는 방법(feat. LLM), 도입 전에 볼 기준
- 브라우저 네이티브 API가 인터랙티브 웹 개발을 바꾸고 있다
참고 자료
How we could save petabytes of cache storage with Zstandard and Pingora
개발자가 주목해야 하는 이유
소폭의 CPU 비용으로 대규모 저장 공간과 데이터센터 간 대역폭을 절감할 수 있음을 보여 주는 설계다.
권장 조치
- 1적중률이 높은 자산에 먼저 카나리를 적용하고 압축률, CPU, 지연, 대역폭을 비교한 뒤 범위를 넓힌다.



