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ştirinGzip 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ınZaman 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ınTCP 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ınSunucunun 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ınGü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ınAğ 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 = 1Bu 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.