Sıkıştırma, metin üzerinde büyük ve anında etkisi olan tek bir ayardır — HTML, CSS, JavaScript, JSON, SVG. Zaten sıkıştırılmış hiçbir şeye etkisi yoktur ve orada istemek boşuna işlemci harcar.

Açın

gzip on;
gzip_vary on;
gzip_comp_level 5;
gzip_min_length 1024;
gzip_types text/plain text/css application/json application/javascript
           text/xml application/xml image/svg+xml;

Düzey 5 işe yarayan orta noktadır. Düzey 9 ise yüzde bir iki için gözle görülür biçimde daha çok işlemci harcar — hem de her bir istekte.

Neyi sıkıştırMAmalı

JPEG, PNG, WebP, MP4 ve ZIP zaten sıkıştırılmıştır. Üzerlerinden gzip geçirmek dosyayı çok az BÜYÜTÜR ve bunu yaparken işlemci yakar. İstisna image/svg+xml'dir — SVG metindir.

Bulunduğu yerde Brotli

brotli on;
brotli_comp_level 5;
brotli_types text/plain text/css application/json application/javascript image/svg+xml;

Brotli, metinde tipik olarak gzip'ten %15-20 daha küçüktür. gzip'i de yanında yapılandırılmış tutun: tarayıcı neyi kabul ettiğini söyler, sunucu seçer.

Gerçekten olduğunu doğrulayın

curl -sI -H 'Accept-Encoding: gzip, br' https://yourdomain.com/ | grep -i content-encoding

content-encoding başlığının olmaması hiçbir şeyin sıkıştırılmadığı anlamına gelir — çoğu zaman önde duran bir vekilin istek başlığını sıyırması yüzünden.

gzip_min_length önemlidir: 200 baytlık bir yanıtı sıkıştırmak kazandırdığından çok harcar, çünkü başlık yükü sabit boyuttadır. Bir kilobayt makul bir alt sınırdır.