Nginx Optimizasyonu Yaparak Site Hızını Artırmak

Merhabalar,
Bugün siz değerli ziyaretçilerimize Nginx optimizasyonu konusunda ipuçları vermeye çalışacağız. 

Öncelikle Nginx Nedir ? 

Nginx aslen mail.ru isimli rus mail sunucusu sitesi için Rus yazılım mühendisi Igor Sysoev tarafından geliştirilen hafif, stabil, hızlı bir mail istemcisi olarak kodlanan daha sonraları geliştirilerek tüm sunucular için uygun hale getirilen bir web sunucusudur.  Apacheden % 400 daha performanslı olduğu testler ile kesindir. Nginx özellikle yüksek trafikli ve yoğun web siteleri için birebirdir. Single Thread yanıt yapısıyla sayfayı tek hamlede yükleyip sayfa açılma hızlarında gözle görülür bir artış sağlar. Ayrıca nginx apache ve litespeed ile karşılaştırıldığında çok daha az cpu kullanır. Buda vps, vds gibi sanal sunucular için Nginx'in ideal olduğu anlamına gelir.

Temel HTTP özellikleri

Statik ve index dosyalarının sunumu, otomatik indeksleme; açık dosya açıklayıcı önbellek;
Önbellek ile hızlandırılmış reverse proxying; basit yük dengeleme ve hata toleransı;
Uzak FastCgi sunucularının önbelleklenmesi ile hızlandırılmış destek; basit yük dengeleme ve hata toleransı;
* Modüler yapı. Gzip, byte aralıkları, yığın cevaplar (chunked responses), XSLT, SSI, imaj boyutlandırma gibi filtreler. FastCGI veya proksilenmiş sunucular ile tek bir sayfada çoklu SSI içermelerinin paralel işlenmesi.
* SSL ve TLS SNI desteği.

Nginx Optimizasyonuna Giriş Yapalım

Worker_process ve worker_connection ayarları 
Konsoldan aşağıdaki komutu çalıştırıyoruz

 

grep processor /proc/cpuinfo | wc -l

örnek çıktı aşağıdaki gibi olacaktır
$ grep processor /proc/cpuinfo | wc -l 8

 Şimdi nginx.conf dosyasında 

worker_processes  Çekirdek Sayısı; olarak ayarlayalım

worker_connections ayarları için

max_clients = worker_processes * worker_connections 

Tweaking Buffers

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

client_body_buffer_size If the request body size is more than the buffer size, then the entire (or partial) request body is written into a temporary file.

client_header_buffer_size For the overwhelming majority of requests it is completely sufficient with a buffer size of 1K.

client_max_body_size Specifies the maximum accepted body size of a client request, as indicated by the request header Content-Length.

large_client_header_buffers assigns the maximum number and size of buffers for large headers to read from client request.


Timeout Sürelerini ayarlamak

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


Sendfile, tcp_nodelay ve tcp_nopush ayarları

sendfile on;
tcp_nopush on;
tcp_nodelay on;

Gzip Sıkıştırma Ayarları

gzip on;
gzip_min_length  1100;
gzip_buffers  4 32k;
gzip_types    text/plain application/x-javascript text/xml text/css


location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}

Log dosyalarını ayarlamak

access_log off;
error_log logs/error.log crit;

open_file cache ayarları

open_file_cache max=5000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

service nginx restart 



komutu ile nginx servisini yeniden başlatıyoruz.

İyi Çalışmalar ve bol hitli günler dileriz

  • Email, SSL
  • 0 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

Related Articles

504 Gateway Timeout Nginx Hatasının Çözümü

Merhabalar,Bugün makalemizde sıkça karşılaşılabilen veya karşılaşma ihtimaliniz yüksek...

Apache ve Nginx Hangisini Tercih Etmeliyim ? Apache vs Nginx

Merhabalar, yoğun bir şekilde sorulan Apache mi ? Nginx mi? sorusuna yanıt vermeye çalışacağız....

Apache ve Nginx için HTTP'den HTTPS'e Güvenli bir şekilde yönlendirme

Merhabalar; Bugün makalemizde ssl kullanmış olduğumuz siteler için eksiksiz ve güvenli bir...

CentOS 7 VestaCP Reboot Sonrası Disk "Read-only file system" Hatasının Çözümü

Merhabalar,Bugün makalemizde VestaCP kurulu bir sunucuyu yeniden başlattıktan sonra...

Centos Plesk Sunucuya Varnish Cache Kurulumu

Merhabalar, Makalemizde Varnish Cache Nedir, Varnish Kurulumu, Varnish Optimizasyonu, Varnish...