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
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.
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
Şimdi nginx.conf dosyasında
Makale İçeriği
worker_connections ayarları için
Tweaking Buffers
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
Sendfile, tcp_nodelay ve tcp_nopush ayarları
open_file cache ayarları
komutu ile nginx servisini yeniden başlatıyoruz.
İyi Çalışmalar ve bol hitli günler dileriz.
İlginizi Çekebilecek Diğer Makalalerimiz;
1- Sunucu Optimizasyonu
2- Tarayıcı önbellekleme özelliğinden yararlanın – PageSpeed
3- WordPress Optimizasyonu
Bol trafikler dileriz.