- Konu sahibi
- #1
LiteSpeed Cache, LiteSpeed Web Server ile bütünleşerek ziyaretçiye daha önce oluşturulmuş sayfa çıktısını yeniden sunan bir önbellekleme sistemidir. Böylece her istekte PHP uygulamasının ve veritabanının baştan çalışması gerekmez; sunucu hazır HTML yanıtını daha hızlı gönderebilir. WordPress gibi uygulamalarda kullanılan LiteSpeed Cache eklentisi ise bu sunucu özelliğini yönetmenin yanında CSS, JavaScript, görsel ve veritabanı optimizasyonları da sunabilir.
Önbellek her içerik için sınırsız süreyle kullanılmaz. Yeni yazı yayımlandığında, ürün fiyatı değiştiğinde veya tema güncellendiğinde eski çıktı temizlenmeli ya da geçersiz sayılmalıdır. Kullanıcıya özel sepet, oturum ve yönetim ekranları gibi içerikler de genel sayfa önbelleğine gelişigüzel alınmamalıdır.
Sunucu sayfa önbelleği, uygulamanın bunu yöneten eklentisi ve nesne önbelleği farklı görevler taşır:
Bu katmanlar aynı şey değildir. Nesne önbelleği hazır HTML sayfası sunmaz; uygulamanın veriye daha hızlı ulaşmasına yardım eder. Bu nedenle yalnız Redis etkinleştirmek, LiteSpeed sayfa önbelleği kurulmuş anlamına gelmez.
Yazar yazıyı güncellediğinde eski önbellek temizlenmezse ziyaretçiler değişmemiş metni görmeye devam edebilir. Bu durumda sorun genellikle LiteSpeed Cache'in çalışmaması değil, içerik değişikliğinden sonra doğru önbellek temizleme kuralının uygulanmamasıdır.
Başarılı sonuç, sayfanın yalnızca hızlı açılması değil; değişikliklerin zamanında görünmesi ve giriş yapmış kullanıcıya yanlış anonim içerik sunulmamasıdır. Sayfa bozulursa önce optimizasyon seçeneklerini kapatıp yalnız temel önbelleği test edin. Sorun ortadan kalkıyorsa neden genellikle JavaScript/CSS birleştirme, erteleme veya tema uyumsuzluğudur.
Önbelleği sınırsız sanmak: Haber, stok, fiyat ve kampanya gibi sık değişen içeriklerde temizleme veya geçersizleştirme kuralı belirlenmelidir.
Birden fazla önbelleği rastgele üst üste koymak: Uygulama eklentisi, sunucu önbelleği ve CDN aynı içeriği farklı sürelerle saklarsa eski içerik teşhisi zorlaşır. Katmanları tek tek etkinleştirip her değişiklikten sonra test edin.
Sadece hız puanına bakmak: Laboratuvar puanı tek başına doğrulama değildir. Gerçek kontrol; anonim ve giriş yapmış oturumların doğru içeriği görmesi, güncellemelerin yansıması ve sunucu hatalarının oluşmamasıdır.
Nasıl çalışır?
İlk ziyaretçi bir sayfayı istediğinde uygulama normal şekilde çalışır ve sonuç önbelleğe alınabilir. Aynı sayfayı sonraki ziyaretçiler istediğinde LiteSpeed, önbellekteki uygun çıktıyı doğrudan sunar. Bu işlem PHP çalışanlarının, veritabanı sorgularının ve uygulama işlem süresinin azalmasına yardımcı olur.Önbellek her içerik için sınırsız süreyle kullanılmaz. Yeni yazı yayımlandığında, ürün fiyatı değiştiğinde veya tema güncellendiğinde eski çıktı temizlenmeli ya da geçersiz sayılmalıdır. Kullanıcıya özel sepet, oturum ve yönetim ekranları gibi içerikler de genel sayfa önbelleğine gelişigüzel alınmamalıdır.
Sunucu sayfa önbelleği, uygulamanın bunu yöneten eklentisi ve nesne önbelleği farklı görevler taşır:
Bu katmanlar aynı şey değildir. Nesne önbelleği hazır HTML sayfası sunmaz; uygulamanın veriye daha hızlı ulaşmasına yardım eder. Bu nedenle yalnız Redis etkinleştirmek, LiteSpeed sayfa önbelleği kurulmuş anlamına gelmez.
Somut örnek
Örneğin example.com üzerinde herkese açık bir blog yazısı olduğunu varsayalım. İlk istek WordPress tarafından oluşturulur ve HTML çıktısı önbelleğe alınır. Aynı yazıya gelen sonraki anonim ziyaretçiler, yeniden PHP ve veritabanı işlemi yapılmadan önbellekteki çıktıyı alabilir.Yazar yazıyı güncellediğinde eski önbellek temizlenmezse ziyaretçiler değişmemiş metni görmeye devam edebilir. Bu durumda sorun genellikle LiteSpeed Cache'in çalışmaması değil, içerik değişikliğinden sonra doğru önbellek temizleme kuralının uygulanmamasıdır.
| Katman | Görevi | Ne zaman önemlidir? |
|---|---|---|
| Sunucu önbelleği | Hazır sayfa yanıtını sunucu seviyesinde saklar ve hızlı döndürür. | Trafik alan, dinamik sayfaları bulunan sitelerde |
| Uygulama eklentisi | Önbellek kurallarını ve optimizasyon seçeneklerini uygulamadan yönetir. | Özellikle WordPress gibi CMS kullanılan sitelerde |
| Nesne önbelleği | Sorgu veya uygulama verilerini Redis ya da Memcached gibi sistemlerde tutabilir. | Veritabanı yükü yüksek uygulamalarda |
Kurulum ve doğrulama yaklaşımı
Yerel sayfa önbelleği için LSCache destekli LiteSpeed sunucu bileşeni gerekir. QUIC.cloud CDN üzerinden önbellekleme ayrı bir seçenektir. Apache veya Nginx üzerinde bu iki destek de yoksa WordPress eklentisinin optimizasyon araçları kullanılabilir; eklenti tek başına LiteSpeed sayfa önbelleği kurmuş olmaz. Kurulumdan önce hosting sağlayıcısından kullanılan web sunucusunu ve sayfa önbelleğinin etkin olup olmadığını doğrulayın.- Önce sitenin yedeğini alın ve test edilecek sayfayı belirleyin. Ana sayfa veya herkese açık bir yazı, ilk doğrulama için uygun bir örnektir.
- LiteSpeed ile uyumlu uygulama eklentisini kurup temel sayfa önbelleği seçeneğini etkinleştirin. İlk aşamada CSS birleştirme, JavaScript erteleme ve görsel optimizasyonu gibi seçenekleri aynı anda açmayın.
- Test sayfasını oturum açmadan birkaç kez isteyin. Geliştirici araçlarında HTML yanıtının X-LiteSpeed-Cache: miss ardından hit değerini kontrol edin; QUIC.cloud/ADC farklı cache başlıkları kullanabilir. Ayrıca sayfanın içerik, giriş durumu ve sepet gibi kişiye özel veri göstermediğini kontrol edin.
- Bir içerik değişikliği yapın, ilgili önbelleği temizleyin ve değişikliğin anonim oturumda göründüğünü doğrulayın.
- Sayfa önbelleği çalışmıyorsa eklentiyi tekrar tekrar temizlemek yerine sunucu desteğini, dış önbellekleri ve yanıt başlıklarını kontrol edin.
Başarılı sonuç, sayfanın yalnızca hızlı açılması değil; değişikliklerin zamanında görünmesi ve giriş yapmış kullanıcıya yanlış anonim içerik sunulmamasıdır. Sayfa bozulursa önce optimizasyon seçeneklerini kapatıp yalnız temel önbelleği test edin. Sorun ortadan kalkıyorsa neden genellikle JavaScript/CSS birleştirme, erteleme veya tema uyumsuzluğudur.
Sık yapılan hatalar
Her şeyi önbelleğe almak: Sepet, ödeme, hesap ve yönetim ekranları kullanıcıya özel olabilir. Bu sayfalar için hariç tutma veya uygun varyasyon kuralları gerekir.Önbelleği sınırsız sanmak: Haber, stok, fiyat ve kampanya gibi sık değişen içeriklerde temizleme veya geçersizleştirme kuralı belirlenmelidir.
Birden fazla önbelleği rastgele üst üste koymak: Uygulama eklentisi, sunucu önbelleği ve CDN aynı içeriği farklı sürelerle saklarsa eski içerik teşhisi zorlaşır. Katmanları tek tek etkinleştirip her değişiklikten sonra test edin.
Sadece hız puanına bakmak: Laboratuvar puanı tek başına doğrulama değildir. Gerçek kontrol; anonim ve giriş yapmış oturumların doğru içeriği görmesi, güncellemelerin yansıması ve sunucu hatalarının oluşmamasıdır.