Image

Bilgi Veritabanı → nginx Hizmetinin İstek İşleme Hızının Optimizasyonu

nginx’in optimal ayarları, istek işleme hızını artırır. Sanal hostingde, ayarlar genellikle hosting sağlayıcısının uzmanları tarafından yapılır. Ancak, web sitesi sanal sunucuda barındırıldığında, tüm ayarların manuel olarak yapılması gerekir.

Web sitesinin daha hızlı çalışması için, nginx web sunucusunun daha hızlı çalışmasını sağlayacak bir yapılandırmanın mevcut olup olmadığını kontrol etmenizi öneririz.

1. Temel Ayarları Karşılaştıralım

nano /etc/nginx/nginx.conf

1.1 Sunucudaki çekirdek sayısını otomatik olarak belirleyen seçenek

worker_processes auto;

1.2 Sıkıştırma Ayarları

        gzip on;
        gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 6;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
	gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/ xml+rss text/javascript;

1.3 http/2’yi Etkinleştirelim

Web host dosyasındaki server bölümüne ssl’den sonra http2’yi ekleyelim. Bu seçeneği yalnızca https için eklemelisiniz.

server {
    listen 89.xx.77.xx:443 ssl http2;
    listen [2a01:xx:4:x::xx]:443 ssl http2;

1.3.1 HTTP2’nin Çalışmasını Kontrol Edelim

nginx -t
service nginx restart
curl -I https://your-domain.tld

Aşağıdaki gibi bir çıktı almalısınız:

HTTP/2 200 
server: nginx
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
cache-control: no-cache, private
date: Tue, 26 Mar 2024 10:39:35 GMT

1.4 Maksimum Bağlantı Sayısını Ayarlayalım

Varsayılan olarak 768, bu değeri işletim sisteminde belirtilen değere değiştirelim.

1.4.1 Değeri Kontrol Edelim

ulimit -n

1024

1.4.2 Bu Değeri nginx Ayar Dosyasında Tanımlayalım

nano /etc/nginx/nginx.conf
events {
	worker_connections 1024;
}

1.5 Bellek Arabellek Boyutunu Ayarlayalım

Varsayılan olarak nginx, bir bellek sayfası boyutunda arabellek kullanır. Daha fazla isteği önbellekten işleyebilmesi için, http {} bölümünde değerleri değiştirelim.

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;

...
}

1.6 İstek İşleme Bekleme Süresini Ayarlayalım

Yüksek yük altında ve düşük bekleme süresi ile nginx, php-fpm’den yanıt alamadığında istemciye hata mesajı verebilir, bu durumda bekleme süresini artırmak gerekir.

Bekleme süresinin artırılması, flood veya ddos saldırıları durumunda olumsuz etkileyebilir, çünkü bu sunucudan daha fazla kaynak talep edecektir.

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

...
}

Artık nginx istekleri daha yüksek hızda işleyecektir. Tüm değişiklikleri yaptıktan sonra yapılandırma dosyasını hatalara karşı kontrol edin ve değişiklikleri uygulamak için hizmeti yeniden başlatın.

nginx -t
service nginx restart

Tamamlandı.





No Comments Yet