Skip to main content
Sonamu는 자주 사용하는 압축 패턴을 CompressPresets으로 제공합니다. 상황에 맞는 프리셋을 선택하여 쉽게 압축을 설정할 수 있습니다.

CompressPresets 개요

전체 프리셋 목록

disabled

압축 비활성화

default

기본 설정 (1KB, br/gzip/deflate)

aggressive

적극적 압축 (256B)

conservative

보수적 압축 (4KB, gzip만)

gzipOnly

gzip 전용

프리셋 상세

disabled

압축을 완전히 비활성화합니다.

default

균형잡힌 기본 설정입니다.
특징:
  • 1KB 미만: 압축 안 함 (오버헤드 방지)
  • 1KB 이상: brotli > gzip > deflate 순으로 압축
  • 모던 브라우저: brotli (최고 압축률)
  • 레거시 브라우저: gzip (호환성)

aggressive

대역폭 최적화를 위한 적극적 압축입니다.
효과:
  • 256 바이트 이상 모두 압축
  • 네트워크 전송량 최소화
  • 약간의 CPU 오버헤드 증가

conservative

CPU 부하를 최소화하는 보수적 압축입니다.
특징:
  • 4KB 미만: 압축 안 함
  • brotli 제외 (CPU 절약)
  • gzip만 사용 (빠름 + 호환성)

gzipOnly

gzip만 사용하는 설정입니다.
특징:
  • 가장 빠른 압축
  • 모든 브라우저 지원
  • 안정적

프리셋 비교표

압축률 비교

실제 100KB JSON 데이터 기준:

상황별 권장 프리셋

프로덕션 API 서버

모바일 앱 백엔드

고성능 실시간 API

레거시 브라우저 지원

개발 환경

프리셋 조합

프리셋을 기반으로 커스터마이징할 수 있습니다.

API별 프리셋

환경별 프리셋

주의사항

프리셋 사용 시 주의사항:
  1. 프리셋은 출발점: 상황에 맞게 조정 필요
  2. aggressive는 CPU 부하 증가: 서버 성능 모니터링 필요
  3. conservative는 작은 응답 압축 안됨: 네트워크 효율 감소
  4. disabled는 모든 압축 비활성화: 전송량 증가

성능 측정

프리셋별 성능 비교 (100KB JSON 기준): 결론: brotli는 압축 시간이 약간 길지만 네트워크 시간 절약으로 전체적으로 빠름

다음 단계

압축 설정

전역 압축 플러그인 설정

API별 제어

@api 데코레이터에 압축 설정

성능 최적화

압축 최적화 전략