Drupal 7 Performans Ayarları (Paylaşımlı Hosting İçin) | Drupal Dersleri

Gönderi Bilgileri
Mediasaur
15.09.2013 - 00:50

VPS ya da dedicated sunucularda CPU, trafik, bandwidth, web alanı gibi sınırlamalar paylaşımlı hostingle karşılaştırılamayacak kadar yüksektir. Ayrıca Varnish, Memcache gibi uygulamalarla da performansı önemli ölçüde iyileştirebilirsiniz. Ancak Drupal, özellikle ön tanımlı ayarlarda değişiklik yapılmazsa, zaten birçok özelliği kısıtlı ve kaynakları kıt olan paylaşımlı(shared) hostinglerde performans açısından kötü sonuçlar verebilir. İşte bu Drupal dersinde paylaşımlı hostinglerde Drupal performansını iyileştirmek için neler yapılabileceğine değineceğim.

Şimdi neler yapılabileceğine bakalım:

Drupal'ın performans ile ilgili ayarlarına Administration > Configuration > Development > Performance menu yolunu izleyerek ya da siteadresi/admin/config/development/performance adresini tarayıcınıza girerek ulaşabilirsiniz.

CACHING

Drupal'da cache(ön bellekleme) ön tanımlı olarak pasif haldedir. Cache'i etkinleştirirseniz, Drupal üretilen sayfa ve blokları cache'te saklar ve ziyaretçi tarayıcıları her istekte bulunduğunda içeriği üretmek için sorgulamalar yapmasına gerek kalmaz. Böylece CPU kullanımını önemli oranda azaltırsınız. Eğer siteniz çok sık güncellenen(haber sitesi vb.) bir site değilse, şu seçenekleri işaretleyerek cache'i etkinleştirin:

  • Cache pages for anonymous users
  • Cache blocks

"Minimum cache lifetime" cache'lenmiş sayfaların yeniden üretilmesi için en az ne kadar zaman geçmesi gerektiğini belirler. Sitenizi sık güncellenmiyorsa, bunu 1 gün'e kadar artırabilirsiniz.

"Expiration of cached pages", cache'lenmiş sayfaların en fazla ne kadar eski sürümlerinin kullanılabileceğini belirler. Drupal'da bu süre 1 günle sınırlanmıştır; ancak .htaccess değişiklikleriyle nadiren güncellenen bir site için bu süre 1-2 yıla kadar çıkarılabilir. Giriş düzeyindeki bu konuyu karmaşıklaştırmamak için .htaccess değişikliklerini anlatmıyorum; ilgilenenler Google aramalarıyla rahatlıkla bilgi bulabilirler.

BANDWIDTH OPTIMIZATION

Drupal cache'lenmiş sayfaları sıkıştırarak boyutlarını önemli ölçüde düşürülebilir ve bu trafik/bandwidth kullanımına çok olumlu etkiler yapar. Bunun için "Compress cached pages." seçeneğini işaretleyin(Bu seçenek ancak cache etkinleştirildiyse kullanılabilir.).

Performans açısından yapılabilecek diğer değişiklikler:

Drupal'ın modüllerin sayısına bağlı olarak çok sayıda içerdiği CSS ve JS(JavaScript) dosyalarını birleştirerek sayılarını ve dolayısıyla sunucudan yapılacak request(istek) sayısını düşürmek(CPU kullanımını azaltır.).

CSS ve JS dosyalarını sıkıştırarak boyutlarını önemli ölçüde düşürmek(Trafik ve bandwith kullanımını azaltır. Ancak şu konuda aktardığım soruna yol açar.) "Aggregate and compress CSS files." seçeneğini işaretleyerek CSS dosyalarını birleştirip sıkıştırabilirsiniz. "Aggregate JavaScript files." ile de JS dosyalarını birleştirebilirsiniz.

JS dosyalarını küçültmek/sıkıştırmak için de modüller var. jQuery Update modülü ise hem çekirdek Drupal jQuery'sini daha yüksek sürüme güncelliyor hem yeni performans işlevleri sunuyor. Bu modülü kurup etkinleştirirseniz, performans sayfasında, Bandwidth Optimization bölümünde yeni seçenekler göreceksiniz.

"jQuery compression level" altından "Production (minified)" seçeneğini işaretleyerek JS dosyalarını sıkıştırabilirsiniz.

"jQuery and jQuery UI CDN" altından Google ya da Microsoft'u seçerek, genel jQuery dosyalarının sizin sunucunuzdan değil Google ya da Microsoft gibi CDN'lerden(Content Delivery Network ya da Content Distribution Network) yüklenmesini sağlayabilirsiniz.

ÖNEMLİ NOTLAR

CSS ve JS sıkıştırma -özellikle düzgün, kural ve standartlara uygun kodlama yapılmamışsa- hatalara yol açabilir.

Cache ve özellikle blok cache, geliştirme aşamasındaki sitelerde kullanılmamalı. Ya da yapılan değişiklikleri görmek için her değişiklik sonrasında cache temizlenmeli ki bu emek ve zaman kaybına yol açar.

İçeriği sık sık güncellenen sitelerde cache kullanımına dikkat edilmeli. Yukarıda belirtilen cache lifetime ve expiration ayarları buna göre ayarlanmalı.

GÖRSEL AYARLARI

Sitenizde aynı görseli farklı boyutlarda kullanacaksanız, bunun için en iyi yol ImageCache'in hazır stillerini kullanmak ya da gereksiniminize göre yeni stiller oluşturmaktır. Özgün ve büyük boyutlu görseli yükleyip herhangi bir biçimde(CSS ya da HTML ile) tarayıcıda/kullanıcı tarafında küçültmekse en kötü yoldur.     Eğer çok yüksek kalite gerektiren bir site değilse(bir fotoğraf sitesi vb.) Image toolkit JPEG quality ayarını 75'te tutun(Hatta biraz daha düşürmeyi deneyebilirsiniz.).

Görsellerinizi mümkünse optimize ederek sitenize yükleyin.     Fotoğraflar için JPEG; buton, simge, logo vb. için PNG formatını kullanın.     Mümkünse CSS Sprite tekniği ile sitenin temel görsellerini tek bir dosyada toplayarak request(istek) sayısını azaltın.

Görsellerle sağladığınız kimi efektleri(gradyan, gölge, yuvarlak köşeler vb.) CSS3 ile de sağlayabilirsiniz(Eğer sitenizin ziyaretçilerinin çoğunluğunun kullandığı aygıt ve tarayıcılar CSS3 destekliyorsa.). Bu gibi durumlarda görsel yerine CSS kullanın.

DİĞER

Eğer siteniz çok sık güncellenmiyorsa, yukarıda belirtilen CDN olanağını tüm site için kullanabilirsiniz. CloudFlare gibi ücretsiz CDN'lerden yararlanabilirsiniz. Bir diğer seçenek ise Cloud Hosting.

Performans ve optimizasyonla ilgili yapılabilecek daha birçok şey ve kullanılabilecek birçok modül var. Basit Google aramalarıyla bunlara ulaşabilirsiniz.

TEST ARAÇLARI

Sitenizin performansını test edebileceğiniz birçok web tabanlı araç ve eklenti var. Bunlar test etmek yanında, yanlış ve eksiklikleri de bildirir ve neler yapılması gerektiği konusunda yol da gösterirler. En kullanışlı bulduklarım:

Temel Bilgiler
Drupal Sürümleri: