Nginx Web Sunucusu Optimizasyonu: Teknik Detaylar
Nginx web sunucusunu optimize etmek, performansı artırmak ve kaynak kullanımını en üst düzeye çıkarmak için önemlidir. İşte Nginx performansını artırmak için uygulayabileceğiniz 10 teknik detay:
1. Çalışan İşlemciler ve Bağlantılar Ayarlayın
-
Çalışan İşlemciler: Sunucunuzdaki CPU çekirdek sayısına göre ayarlayın.
worker_processes auto;
-
Çalışan Bağlantılar: Aynı anda hizmet verebileceğiniz maksimum istemci sayısını belirlemek için bağlantı sayısını artırın.
events {
worker_connections 2048;
}2. Gzip Sıkıştırmayı Etkinleştirin
Gzip sıkıştırması, dosya boyutlarını küçülterek ağ bant genişliğini azaltır.
gzip on;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
gzip_comp_level 5;
gzip_min_length 10240;
gzip_vary on;
3. Statik İçerik Önbellekleme Süresini Değiştirin
Statik içerikler için önbellekleme sürelerini artırarak sunucu yükünü azaltabilirsiniz.
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}4. Zaman Aşımı Değerlerini Ayarlayın
Zaman aşımı değerlerini ayarlayarak yavaş istemcilerin performansı etkilemesini önleyebilirsiniz.
http {
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
}5. TCP Seçeneklerini Ayarlayın
TCP seçeneklerini ince ayar yaparak veri aktarımını optimize edebilirsiniz.
http {
tcp_nopush on;
tcp_nodelay on;
}6. Dosya Açma Limitlerini Artırın
Sunucunun daha fazla dosya açabilmesi için dosya açma limitlerini artırın.
worker_rlimit_nofile 65535;
7. HTTP/2 Protokolünü Etkinleştirin
HTTP/2, daha hızlı veri aktarımı ve daha iyi performans sağlar.
server {
listen 443 ssl http2;
...
}8. Erişim Günlüklerini Devre Dışı Bırakın veya Arabelleğe Alın
Günlük kaydı, disk I/O yükünü artırabilir. Gerekirse erişim günlüklerini devre dışı bırakın veya arabelleğe alın.
access_log off;
# veya
access_log /var/log/nginx/access.log combined buffer=32k flush=5m;
9. Reverse Proxy Olarak Nginx Kullanımı
Nginx'i reverse proxy olarak kullanarak yük dengelemesi yapabilir ve performansı artırabilirsiniz.
location / {
proxy_pass http://backend-server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}10. Ağ Yığını Optimizasyonu Yapın
Ağ yığını parametrelerini ayarlayarak Nginx performansını artırabilirsiniz.
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
Bu teknik detaylar sayesinde Nginx web sunucunuzun performansını önemli ölçüde artırabilirsiniz. Her değişiklikten sonra Nginx yapılandırmasını test etmeyi ve sunucuyu yeniden başlatmayı unutmayın.