Blogchevron_rightSunucu Yönetimichevron_rightNginx Önbellek Yapılandırması: Performansı Maksimuma Çıkarma

Nginx Önbellek Yapılandırması: Performansı Maksimuma Çıkarma

S
Serversium
calendar_today6 Temmuz 2026
schedule5 dk okuma
Nginx Önbellek Yapılandırması: Performansı Maksimuma Çıkarma

Nginx Önbellek Yapılandırması: Performansı Maksimuma Çıkarma

Nginx, modern web sunucularının en popüler seçeneklerinden biri olarak yüksek trafikli web uygulamalarının temel taşı haline gelmiştir. Doğru yapılandırılmış bir Nginx önbellek sistemi, sunucu yükünü %70 oranında azaltabilir ve sayfa yüklenme sürelerini 3-5 kat hızlandırabilir.

Önbellek mekanizması, dinamik içeriklerin yeniden oluşturulmasını önleyerek backend sunucuların yükünü hafifletir. Veri merkezi çözümleri ile entegre edildiğinde, bu optimizasyon sayesinde işletmeler önemli maliyet tasarrufu sağlar.

Proxy Cache Yapılandırması

Proxy cache, Nginx'in en yaygın kullanılan önbellek türüdür. Arka uç sunuculardan alınan yanıtları diske veya belleğe kaydederek sonraki isteklerde doğrudan sunar.

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=app_cache:10m max_size=1g inactive=60m use_temp_path=off;

server {
    location / {
        proxy_pass http://backend;
        proxy_cache app_cache;
        proxy_cache_valid 200 60m;
        proxy_cache_valid 404 5m;
        add_header X-Cache-Status $upstream_cache_status;
    }
}

Bu yapılandırma, 200 yanıtlarını 60 dakika boyunca önbellekte tutar. X-Cache-Status header'ı, önbellek durumunu izlemenizi sağlar: HIT, MISS, EXPIRED veya BYPASS.

FastCGI/PCache Niteliği

PHP ve diğer FastCGI uygulamaları için veritabanı performansı ile birlikte FastCGI önbelleği kritik önem taşır. Özellikle WordPress, Laravel gibi platformlarda dramatik performans artışı sağlar.

fastcgi_cache_path /var/cache/fastcgi levels=1:2 keys_zone=fcgi_cache:100m max_size=1g inactive=60m;

server {
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php-fpm.sock;
        fastcgi_cache fcgi_cache;
        fastcgi_cache_valid 200 60m;
        fastcgi_cache_use_stale error timeout updating;
        fastcgi_cache_lock on;
    }
}

Bu yapılandırma, 100MB bellek alanı kullanarak 1GB'a kadar disk önbellek oluşturur. fastcgi_cache_lock özelliği, cache stampede (önbellek çöküşü) sorununu önler.

Gzip Sıkıştırma: Veri Transferini Optimize Etme

Gzip sıkıştırma, web performansının temel taşlarından biridir. Doğru yapılandırılmış bir Gzip sistemi, transfer edilen veri miktarını %70-90 oranında azaltabilir. Google'ın Core Web Vitals standartlarına göre, LCP (Largest Contentful Paint) değerini doğrudan etkiler.

Gzip Temel Yapılandırması

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

gzip_comp_level değeri 1-9 arasında değişir; 6 optimal denge sağlar. Daha yüksek değerler daha küçük dosya boyutları sunar ancak CPU kullanımını artırır.

Brotli Sıkıştırma: Yeni Nesil Çözüm

Brotli, Google tarafından geliştirilen ve Gzip'e göre %15-25 daha iyi sıkıştırma oranı sunan bir algoritmadır. Modern tarayıcıların %95'inden fazlası tarafından desteklenir.

Nginx'te Brotli kullanmak için ngx_brotli modülü gereklidir:

brotli on;
brotli_comp_level 6;
brotli_types text/html text/css application/json application/javascript;
brotli_min_length 256;

Performans Karşılaştırma Tablosu

Yöntem Ortalama Sıkıştırma CPU Yükü Önbellek Süresi
Proxy Cache Yok Düşük Yapılandırılabilir
Gzip %70-80 Orta Her istekte
Brotli %85-90 Orta-Yüksek Her istekte
Brotli + Önbellek %85-90 Düşük Yapılandırılabilir

Önbellek Stratejileri ve En İyi Uygulamalar

Önbellek Katmanları

Etkili bir önbellek mimarisi, birden fazla katmandan oluşur:

  1. Tarayıcı Önbelleği: Kullanıcının yerel cihazında saklanan statik içerikler için
  2. CDN Önbelleği: Coğrafi olarak dağıtılmış içerik dağıtım ağları için
  3. Reverse Proxy Önbelleği: Nginx veya Varnish gibi sunucu katmanı için
  4. Uygulama Önbelleği: Redis, Memcached gibi veri yapıları için

Önbellek Temizleme Stratejileri

Önbellek yönetiminde en kritik konulardan biri temizleme mekanizmasıdır. Nginx, proxy_cache_purge modülü ile dinamik temizleme imkanı sunar:

location ~ /purge(/.*) {
    proxy_cache_purge app_cache "$scheme$request_method$host$1";
}

Bu yapılandırma ile /purge/path isteği, ilgili önbellek girdisini anında siler.

Vary Header Kullanımı

Farklı cihazlar ve kullanıcılar için içerik değiştiğinde, Vary header kullanmak kritik önem taşır:

proxy_cache_vary on;
proxy_cache_vary_by_cookie uid;
proxy_cache_vary_by_header Accept-Language;

Bu ayar, farklı cookie değerlerine veya dil tercihlerine sahip kullanıcılar için ayrı önbellek girdileri oluşturur.

SSL/TLS Önbellek Optimizasyonu

SSL sertifikası kullanılan sitelerde, TLS session cache yapılandırması handshake süresini önemli ölçüde azaltır:

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;

Bu yapılandırma, SSL handshake maliyetini azaltarak toplam yüklenme süresini iyileştirir.

Yük Dengeleme ile Entegrasyon

Yüksek trafikli sistemlerde, Nginx'in yük dengeleyici özellikleri ile önbellek kombinasyonu kritik performans sağlar:

upstream backend {
    least_conn;
    server app1.example.com;
    server app2.example.com;
    server app3.example.com;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=all:50m;

server {
    location / {
        proxy_pass http://backend;
        proxy_cache all;
        proxy_cache_lock on;
        proxy_cache_lock_timeout 5s;
    }
}

İzleme ve Hata Ayıklama

Önbellek performansını izlemek için Nginx status modülü kullanılabilir:

location /nginx_status {
    stub_status on;
    allow 127.0.0.1;
    deny all;
}

Bu endpoint, aktif bağlantı sayısını, okunan/yazılan baytları ve önbellek istatistiklerini sağlar. 502 Bad Gateway hataları gibi sorunları teşhis etmek için önbellek durumu değerlerini analiz etmek önemlidir.

Sonuç

Nginx önbellek ve sıkıştırma yapılandırması, web uygulamalarının performansını dramatik şekilde artırabilir. Doğru strateji ile:

  • Sunucu yükü %70'e varan oranlarda azaltılabilir
  • Sayfa yüklenme süreleri 3-5 kat hızlandırılabilir
  • Bandwidth kullanımı %80'e varan oranlarda düşürülebilir
  • Arama motoru sıralamaları iyileştirilebilir

Unutmayın: Her uygulama farklıdır. Yapılandırmaları kendi trafik kalıplarınıza ve kaynaklarınıza göre optimize etmeniz gerekir. Önbellek sürelerini, sıkıştırma seviyelerini ve depolama alanlarını test ederek en uygun kombinasyonu bulun.

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