Blogchevron_rightSunucu Yönetimichevron_rightNginx Gzip ve Brotli Sıkıştırma Rehberi

Nginx Gzip ve Brotli Sıkıştırma Rehberi

S
Serversium
calendar_today13 Mayıs 2026
schedule5 dk okuma
Nginx Gzip ve Brotli Sıkıştırma Rehberi

Nginx Gzip ve Brotli Sıkıştırma: Bant Genişliği Tasarrufu İçin Kapsamlı Rehber

Web sitelerinin hız performansı, kullanıcı deneyimi ve arama motoru sıralamaları için kritik öneme sahiptir. Nginx web sunucusu üzerinde doğru sıkıştırma ayarları, web sitesi hızını önemli ölçüde artırırken bant genişliği tüketimini de dramatik şekilde düşürür. Bu rehberde Gzip ve Brotli sıkıştırma teknolojilerini detaylı olarak inceleyeceğiz.

Nginx Sıkıştırma Nedir ve Neden Önemlidir?

Nginx sıkıştırma, sunucu tarafından gönderilen HTTP yanıtlarının boyutunu azaltmak için kullanılan bir tekniktir. Sıkıştırılmış içerik, tarayıcı tarafında açılarak orijinal haline dönüştürülür. Bu süreç, ağ trafiğini azaltır, sayfa yüklenme sürelerini kısaltır ve sunucu maliyetlerini düşürür.

Google'ın araştırmalarına göre, sayfa yüklenme süresi 3 saniyeden uzun olan siteler kullanıcıların %53'ünü kaybeder. Ayrıca, HTTP Archive verilerine göre ortalama bir web sayfası 2MB'ın üzerinde kaynak içerir ve bu kaynakların sıkıştırılmasıyla %60-80 arasında bant genişliği tasarrufu sağlanabilir.

Gzip Sıkıştırma Teknolojisi

Gzip, 1992 yılında GNU projesi kapsamında geliştirilen ve Linux sistemlerde varsayılan olarak bulunan bir sıkıştırma algoritmasıdır. LZ77 algoritması ve Huffman coding kombinasyonunu kullanır. Bugün tüm modern tarayıcılar tarafından desteklenmektedir.

Gzip'in başlıca avantajları şunlardır:

  • Evrensel tarayıcı desteği (%99+)
  • Düşük CPU yükü
  • Kolay konfigürasyon
  • Hızlı entegrasyon

Brotli Sıkıştırma Teknolojisi

Brotli, Google tarafından 2016 yılında geliştirilen daha yeni ve etkili bir sıkıştırma algoritmasıdır. LZMA algoritmasından esinlenilmiş olup, Gzip'e kıyasla %15-25 daha iyi sıkıştırma oranları sunar. Özellikle metin tabanlı içeriklerde (HTML, CSS, JavaScript) üstündür.

Brotli'nin avantajları:

  • Daha yüksek sıkıştırma oranı
  • Modern tarayıcılarda yerel destek
  • Daha iyi cache performansı
  • Dinamik ve statik sıkıştırma desteği

Nginx Gzip Sıkıştırma Yapılandırması

Nginx'te Gzip sıkıştırmayı etkinleştirmek için nginx.conf dosyasında belirli direktifleri yapılandırmanız gerekir. Aşağıda optimum performans için önerilen ayarları bulabilirsiniz.

Temel Gzip Ayarları

gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
gzip_types text/plain text/css text/xml application/json application/javascript application/xml application/xml+rss text/javascript image/svg+xml;

Bu yapılandırma, sunucunuzda Gzip sıkıştırmayı etkinleştirir ve en yaygın içerik türlerini sıkıştırır. gzip_comp_level değeri 1 ile 9 arasında değişir; 6 değeri denge noktası olarak önerilir çünkü en yüksek sıkıştırma seviyesi (9) CPU kullanımını artırır.

Gzip Direktifleri Açıklaması

Direktif Açıklama Önerilen Değer
gzip Sıkıştırmayı açar/kapar on
gzip_vary Yanıtta Vary header ekler on
gzip_proxied Proxy isteklerinde sıkıştırma any
gzip_comp_level Sıkıştırma seviyesi (1-9) 6
gzip_min_length Minimum dosya boyutu (byte) 256
gzip_types Sıkıştırılacak MIME türleri Çoklu

Nginx Brotli Sıkıştırma Yapılandırması

Brotli'yi Nginx ile kullanmak için öncelikle mod-brotli modülünün yüklü olması gerekir. Birçok Nginx dağıtımı bu modülü varsayılan olarak içerir, aksi halde manuel derleme gerekebilir.

Brotli Modülü Kurulumu

Ubuntu/Debian sistemlerde:

apt-get install nginx-module-brotli

Modülü etkinleştirmek için nginx.conf dosyasına ekleyin:

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

Brotli Yapılandırması

brotli on;
brotli_comp_level 6;
brotli_min_length 256;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
brotli_static on;

brotli_static on ayarı, önceden sıkıştırılmış .br uzantılı dosyaların doğrudan sunulmasını sağlar. Bu, CPU kullanımını önemli ölçüde azaltır.

Gzip vs Brotli: Kapsamlı Karşılaştırma

Her iki sıkıştırma teknolojisinin performans farklarını anlamak kritik önem taşır. Aşağıdaki tablo, temel metrikleri karşılaştırmaktadır:

Özellik Gzip Brotli
Sıkıştırma Oranı Orta (%70-80) Yüksek (%80-90)
CPU Kullanımı Düşük Orta-Yüksek
Tarayıcı Desteği %99+ %90+
Yapılandırma Karmaşıklığı Düşük Orta
Statik Önbellek Zayıf Güçlü
Sunucu Yanıt Süresi Hızlı Daha Hızlı

Akademik araştırmalara göre, Brotli Gzip'e kıyasla CSS dosyalarında %17, JavaScript dosyalarında %14 ve HTML dosyalarında %21 daha iyi sıkıştırma performansı göstermektedir.

Optimal Nginx Sıkıştırma Yapılandırması

Maksimum performans için hem Gzip hem de Brotli'yi birlikte kullanmanızı öneririz. Tarayıcı Brotli destekliyorsa Brotli, aksi takdirde Gzip kullanılır.

Tam Yapılandırma Örneği

http {
    # Gzip Ayarları
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_min_length 256;
    gzip_types text/plain text/css text/xml application/json application/javascript 
                text/xml application/xml application/xml+rss text/javascript 
                image/svg+xml application/font-woff application/x-font-woff;
    
    # Brotli Ayarları
    brotli on;
    brotli_comp_level 6;
    brotli_min_length 256;
    brotli_types text/plain text/css application/json application/javascript 
                 text/xml application/xml application/xml+rss text/javascript 
                 image/svg+xml;
    brotli_static on;
    
    # Cache Ayarları
    open_file_cache max=1000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
}

Bant Genişliği Tasarrufu Hesaplama

Sıkıştırmanın bant genişliği tasarrufuna etkisini hesaplamak için aşağıdaki formülü kullanabilirsiniz:

Tasarruf = (Sıkıştırılmamış Boyut - Sıkıştırılmış Boyut) / Sıkıştırılmamış Boyut × 100

Örnek bir web sitesi için yıllık tasarruf hesaplaması:

Metrik Değer
Aylık Sayfa Görüntüleme 1.000.000
Ortalama Sayfa Boyutu (Sıkıştırılmamış) 2.5 MB
Ortalama Sayfa Boyutu (Gzip ile) 0.7 MB
Ortalama Sayfa Boyutu (Brotli ile) 0.5 MB
Aylık Gzip Tasarrufu 1.800 GB
Aylık Brotli Tasarrufu 2.000 GB

Bu hesaplama, aylık yaklaşık 2TB bant genişliği tasarrufu sağlayabilir. Özellikle yüksek trafikli e-ticaret sitelerinde bu tasarruf önemli maliyet avantajına dönüşür. E-ticaret sitelerinde performansın ciroya etkisi konusunda daha detaylı bilgi alabilirsiniz.

Sık Yapılan Hatalar ve Çözümleri

1. Aşırı Sıkıştırma Seviyesi

gzip_comp_level 9 kullanmak, CPU kullanımını artırırken az miktarda ek sıkıştırma sağlar. Seviye 6, optimum dengeyi sunar.

2. Çok Küçük Dosyaların Sıkıştırılması

256 byte'ın altındaki dosyaları sıkıştırmak, işlem maliyetini artırır. gzip_min_length 256 ayarını kullanın.

3. Eksik MIME Türleri

Tüm gerekli içerik türlerini gzip_types ve brotli_types listesine eklediğinizden emin olun. Özellikle font dosyaları (woff, woff2) ve SVG görselleri unutulmamalıdır.

4. Önbellek Yapılandırması Eksikliği

Sıkıştırılmış yanıtlar için uygun cache politikaları belirlemezseniz, her istekte yeniden sıkıştırma yapılır. Bu durum CPU kullanımını artırır. S3 uyumlu depolama çözümleri hakkında bilgi alarak önbellek stratejilerinizi geliştirebilirsiniz.

Performans Testi ve Doğrulama

Sıkıştırma ayarlarınızı test etmek için çeşitli araçlar kullanabilirsiniz:

  • Google PageSpeed Insights: Sıkıştırma oranlarını analiz eder
  • GTmetrix: Gzip/Brotli etkinliğini doğrular
  • Chrome DevTools: Yanıt header'larını incelemenizi sağlar
  • curl -I komutu: Sunucu yanıtlarını kontrol eder
curl -I -H "Accept-Encoding: br" https://siteniz.com
curl -I -H "Accept-Encoding: gzip" https://siteniz.com

Bu komutlar, sunucunuzun hangi sıkıştırma türlerini desteklediğini ve yanıt boyutlarını gösterir.

Sonuç ve Öneriler

Nginx sıkıştırma yapılandırması, web sitesi performansını iyileştirmenin en etkili yollarından biridir. Her iki teknolojiyi birlikte kullanarak maksimum uyumluluk ve performans elde edebilirsiniz.

Temel önerilerimiz:

  1. Hem Gzip hem de Brotli'yi birlikte yapılandırın
  2. Sıkıştırma seviyesi olarak 6 değerini kullanın
  3. Font dosyaları ve SVG'leri sıkıştırma listesine ekleyin
  4. Brotli_static kullanarak önceden sık

library_booksBenzer İçerikler

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
Sunucu Yönetimi
calendar_today5 Nisan 2026
schedule5 dk

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

S
Serversiumarrow_forward
Linux vs Windows Sunucu: Hangisi Projeye Uygun?
Sunucu Yönetimi
calendar_today6 Nisan 2026
schedule5 dk

Linux vs Windows Sunucu: Hangisi Projeye Uygun?

Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

S
Serversiumarrow_forward
Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
Sunucu Yönetimi
calendar_today16 Nisan 2026
schedule5 dk

Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

S
Serversiumarrow_forward