← 전체 글로 돌아가기

서버 운영

Nginx gzip 압축이 실제로 동작하는지 확인하기

gzip 설정을 켜도 실제로 압축되는지 확인해야 한다. curl로 응답 헤더를 보면 금방 알 수 있다.

Nginx에서 gzip을 켜면 응답 크기가 줄어들어야 하는데, 제대로 동작하는지 확인해 본 적이 없다면 낭패다.

gzip 설정 확인

sudo nginx -t
# 설정 파일 구문이 맞는지 확인

dig example.com
curl -I https://example.com
# 응답 헤더를 봐서 Content-Encoding이 gzip으로 나오는지 확인

응답 헤더에서 gzip 확인

curl -i https://example.com | grep -i 'content-encoding'
# gzip이 나오면 성공

만약 gzip이 안 나오면 nginx 설정을 다시 확인하거나, 클라이언트가 Accept-Encoding: gzip을 요청했는지 확인해야 한다.

DNS와 캐시도 같이 봐야 할 수 있다

특히 CDN을 쓰는 경우 CDN 레벨에서 gzip을 처리하기도 하고, 프록시가 중간에 압축을 풀어버릴 수도 있다.

정기적으로 확인해야 할 것들

  1. HTTP status가 200인가
  2. Content-Encoding이 gzip으로 나오는가
  3. Content-Length가 합리적으로 줄어들었는가
  4. 캐시 헤더는 맞게 설정되었는가

실제 사용자가 받는 응답까지 확인해야 완전하다.