Bugün, Nginx, PHP-FPM ve Redis'i bir araya getirerek, web sunucularınızda nasıl mükemmel bir hız artışı sağlayabileceğinizi keşfedeceğiz.
Nginx ile PHP-FPM Konfigürasyonu
Bir web sunucusunun hızını artırmanın ilk adımı, doğru sunucu yazılımını seçmekten geçer. Burada en büyük rakiplerden biri Apache iken, Nginx, hız ve verimlilik konusunda oldukça öne çıkar. Peki, Nginx’i diğerlerinden ayıran özellik nedir?
PHP-FPM ise PHP uygulamalarınız için hız optimizasyonu sağlayan bir yönetim aracıdır. PHP-FPM, PHP süreçlerini paralel bir şekilde yöneterek uygulamanızın her isteğe hızlı bir şekilde yanıt vermesini sağlar. Bu ikili kombinasyon, sunucunuzun hızını uçurur!
Öyleyse, Nginx ve PHP-FPM'i nasıl yapılandırabiliriz? İşte birkaç temel adım:
# Nginx Konfigürasyonu
server {
listen 80;
server_name orneksite.com;
root /var/www/orneksite/public;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000; # PHP-FPM Portu
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Bu basit konfigürasyon, PHP dosyalarınızı PHP-FPM ile doğru şekilde çalıştırır. Şimdi, Nginx ve PHP-FPM'in sunduğu hızın keyfini çıkarabiliriz!
Redis ile Hız Optimizasyonu
Web uygulamanızda PHP-FPM ile sunucu tarafı işlemleri hızlandırmak yeterli olmayabilir. Redis devreye girdiğinde ise her şey çok daha hızlı hale gelir. Redis, verileri bellek üzerinde depolayarak, gelen her isteği çok hızlı bir şekilde yanıtlar. Veritabanı sorgularının önbelleğe alınması sayesinde sunucunuz üzerindeki yükü ciddi oranda azaltır.
connect('127.0.0.1', 6379);
$data = $redis->get('ornek_anahtar');
if (!$data) {
// Veritabanından veri çek
$data = 'veritabanindan_alinan_veri';
$redis->set('ornek_anahtar', $data, 3600); // 1 saatlik önbellek süresi
}
echo $data;
?>
Bu kod parçası, Redis’i veritabanı sorgularını hızlandırmak için kullanır. Böylece her istekte aynı veriyi tekrar sorgulamak yerine Redis’in hızlı önbelleğinden faydalanabilirsiniz.
Gerçek Zamanlı Performans Analizleri
Şimdi, bu mükemmel yapılandırmayı test etmenin zamanı geldi! Hangi yapılandırmanın daha iyi performans gösterdiğini anlamak için çeşitli araçlar kullanarak performans testleri yapmamız gerekir. Bu testler sayesinde, hangi ayarın size en yüksek hız artışını sağladığını belirleyebiliriz.
# Apache Bench Testi
ab -n 1000 -c 100 http://orneksite.com/
Bu test, web sunucusunun 1000 isteğe nasıl yanıt verdiğini ve saniye başına kaç isteği işlemeyi başardığını gösterir. Testin sonunda alınacak sonuçlar, yapılan optimizasyonların ne kadar etkili olduğunu gözler önüne serecektir.