Statik Varlıkları Verimli Bir Önbellek Politikası ile Sunun (3 Yöntem)

Yayınlanan: 2022-04-12

Statik varlıkları verimli bir önbellek politikasıyla sunduğunuz zaman, kullanıcının tarayıcısı bu dosyaları yerel olarak depolar ve sayfayı yüklemek için daha az zamana ihtiyaç duyulur. Normalde bir sayfa yüklenir yüklenmez o sayfanın HTML, CSS, JavaScript ve resimler gibi tüm kaynakları indirilmelidir.

Tarayıcı önbelleğe alma, tarayıcının yerel önbelleğinden CSS, JavaScript ve görüntüler gibi statik varlıkları almasına olanak tanır. Sonuç olarak, sayfalar daha hızlı yüklenir. Önbelleğe alınmış içerik, bir sayfaya sonraki ziyaretlerin kullanıcının ilk ziyaretinden daha hızlı olacağı, ancak ilk ziyarette olmayacağı anlamına gelir.

İçindekiler

önbellek nedir?

Önbellek, bilgi işlemde genellikle geçici olan verilerin bir bölümünü kaydeden ve böylece bu veriler için sonraki isteklerin, verilerin birincil depolama konumuna erişmekten daha hızlı sunulabilmesini sağlayan yüksek hızlı bir veri depolama katmanıdır. Önbelleğe alma, daha önce alınmış veya hesaplanmış verileri hızla yeniden kullanmanıza olanak tanır.

Önbelleğe alma gerçekte nasıl çalışır?

Bir önbellekteki veriler genellikle RAM (rastgele erişimli bellek) gibi hızlı erişim donanımlarında tutulur, ancak bir yazılım bileşeniyle birlikte de kullanılabilir. Bir önbelleğin temel amacı, arkasındaki daha yavaş depolama katmanıyla iletişim kurma ihtiyacını ortadan kaldırarak veri alımını hızlandırmaktır.

Tüm ve uzun süreli verileri depolayan veritabanlarının aksine, önbellek genellikle verilerin bir bölümünü geçici olarak depolar.

Önbelleğe almanın avantajları

Önbelleğe almanın bazı avantajlarından bahsedelim.

Uygulamanızın performansını artırın

Bir bellek içi önbellekten veri okumak inanılmaz derecede hızlıdır çünkü bellek, diskten (manyetik veya SSD) (milisaniyeden az) daha hızlıdır. Bu önemli ölçüde daha hızlı veri erişimi, uygulamanın genel performansını artırır.

Arka Uç Yükü Azaltılmalıdır

Önbelleğe alma, okuma yükünün bir kısmını arka uç veritabanından bellek içi katmana kaydırarak, veritabanınızdaki stresi azaltır, ağır yük altında zayıf performanstan etkilenmesini ve hatta ani düşüşlerde çökmesini önler.

Veritabanındaki sıcak noktalar ortadan kaldırılmalıdır

Birçok uygulama, bir veri alt kümesini diğerlerinden daha sık alma eğilimindedir. Sonuç olarak, veritabanında etkin noktalar oluşabilir ve en sık kullanılan veriler için aktarım hızı gereksinimlerine dayalı olarak veritabanının kaynaklarını gereğinden fazla sağlamanız gerekebilir. Sık erişilen veriler için bir bellek içi önbellek, hızlı, öngörülebilir performans sunarken aşırı sağlama gereksinimlerini azaltır.

Veritabanınızın maliyetini azaltın

Saniyedeki girdi/çıktı işlemleri (IOPS), tek bir önbellek örneği tarafından gerçekleştirilebilir, bu da birden çok veritabanı örneğini değiştirmesine ve maliyetleri önemli ölçüde düşürmesine olanak tanır. Birincil veritabanı veri miktarına göre ücret alıyorsa bu çok önemlidir. Belirli koşullar altında büyük bir fiyat farkı olabilir.

Tahmin edilebilir performans

Uygulama kullanımındaki dalgalanmalarla başa çıkmak, modern sistemlerde yaygın bir sorundur. Artan veritabanı yükü, daha uzun veri alma sürelerine neden olarak genel uygulama performansını tahmin edilemez hale getirir. Bu sorun, yüksek verimli bir bellek içi önbellek kullanılarak çözülebilir.

Okuyan kişi sayısını artırın (IOPS)

Bellek içi sistemler, azaltılmış gecikme süresine ek olarak, karşılaştırılabilir bir disk tabanlı veritabanından önemli ölçüde daha yüksek istek oranlarına (IOPS) sahiptir. Dağıtılmış bir yan önbellek olarak kullanıldığında, tek bir örnek saniyede yüzlerce hatta binlerce isteği yerine getirebilir.

Varlık önbelleğe alma nedir?

Önbelleğe alma basit bir kavramdır. Bir tarayıcı bir varlığı indirdiğinde, sonraki ziyaretlerde tekrar indirip indirmemesi gerektiğini belirlemek için sunucunun politikasını kullanır. Sunucu bir ilke sağlamazsa, tarayıcı varsayılanı olur ve bu genellikle o oturum için dosyaların önbelleğe alınması anlamına gelir.

Statik varlık önbelleğe alma nedir?

tarayıcının kaynağı ne kadar süreyle geçici olarak tutması veya önbelleğe alması gerektiğini belirtin. Bu kaynağa yönelik sonraki istekler, ağ yerine tarayıcının yerel kopyasından sunulur.

Ne zaman sitenizi ziyaret eden biri tarayıcıda veya sunucuda önbelleğe alınmamış bir şeyin yeni bir sürümünü getirse, verimsiz bir önbellek politikası kullanıyorsunuz demektir. Gerçekte, onlara önbelleğe alınmış ve kullanıma hazır kaydedilmiş içerik sunuyor olabilirsiniz.

Ayrıca okuyun: WordPress'te Bozuk Kalıcı Bağlantılar Nasıl Onarılır

Verimli önbellek politikası nedir?

Statik dosyalarınız değişmiyorsa (veya kabul edilebilir bir önbellek bozma mekanizmanız varsa), önbellek politikanızı 6 ay veya 1 yıl olarak ayarlamanızı öneririz.

Global CSS/JS dosyaları, logolar, grafikler vb. gibi öğeler, bitmiş web sitelerinde nadiren değişir, bu nedenle 6 ay veya bir yıl çalışmak için adil bir önbellek süresinin dolmasıdır.

Tabii ki, yukarıdaki statik dosyaları sık sık değiştirirseniz, 3 aydan daha uzun olduğu sürece daha kısa bir önbellek sona erme süresi seçebilirsiniz.

Statik varlıkları verimli bir önbellek ilkesiyle sunun

Verimli önbellek politikası kullanarak statik dosyalara hizmet vermenin birden çok yolu vardır, 3 yöntemi tartışacağız

  1. LiteSpeed ​​Enterprise veya Apache kullanıyorsanız .htaccess dosyasını kullanma
  2. LiteSpeed ​​Önbelleğini Kullanma
  3. W3 Toplam Önbellek eklentisini kullanma

Apache ve LiteSpeed ​​Enterprise üzerinde .htaccess dosyasını kullanarak Statik Varlıkları sunun

Not: OpenLiteSpeed ​​veya NGINX kullanıyorsanız bu yöntem çalışmayacaktır.

WordPress Kontrol Panelinize giriş yapın

Sol taraftaki menüden Eklentiler -> Yeni ekle'ye tıklayın

"Dosya yöneticisi" için arama yapın. Eklentiyi kurun ve etkinleştirin

Sol taraftaki menüden "Dosya Yöneticisi"ne tıklayın

public_html klasöründe, .htaccess'e sağ tıklayın ve yeniden adlandır'a tıklayın

Dosya adını değiştirin (.htaccess-error)

Üstten "yeni dosya" simgesine tıklayın

Dosyayı ".htacess" olarak adlandırın

Aşağıdaki kodu yapıştırın ve kaydedin ve kapatın

 <IfModule mod_expires.c> ExpiresActive On # CSS, JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" # Fonts ExpiresByType font/ttf "access plus 1 year" ExpiresByType font/otf "access plus 1 year" ExpiresByType font/woff "access plus 1 year" ExpiresByType font/woff2 "access plus 1 year" ExpiresByType application/font-woff "access plus 1 year" # Images ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType image/x-icon "access plus 1 year" # Video ExpiresByType video/webm "access plus 1 year" ExpiresByType video/mp4 "access plus 1 year" ExpiresByType video/mpeg "access plus 1 year" # Others ExpiresByType application/pdf "access plus 1 year" ExpiresByType image/vnd.microsoft.icon "access plus 1 year" </IfModule>

Statik Varlıkları LiteSpeed ​​Cache kullanarak sunun

LiteSpeed ​​Cache eklentisini kurmanız ve etkinleştirmeniz gerekir, kurulduktan sonra aşağıdaki kılavuzu izleyin:

  • WordPress Kontrol Panelinize gidin
Statik varlıkları verimli bir önbellek ilkesiyle sunun
  • Sol taraftaki menüden LiteSpeed ​​Cache -> Cache seçeneğine tıklayın
  • Üstten "Tarayıcı" sekmesine tıklayın
  • "Tarayıcı Önbelleği" geçişini açın
  • "Değişiklikleri Kaydet" e tıklayın

Statik Varlıkları W3 Toplam Önbelleği Kullanarak Sunma

Önce W3 Total Cache eklentisini kurun ve etkinleştirin, ardından aşağıdaki kılavuzu izleyin.

  • WordPress Kontrol Panelinize gidin
  • Sol taraftaki menüden Performans -> Tarayıcı Önbelleği'ne tıklayın
  • "Medya ve Diğer Dosyalar" a gidin. "Sona Eren Başlık Ömrü"nü en az 15552000s (180 gün) olarak değiştirin.
  • "Tüm ayarları kaydet" e tıklayın

Çözüm

Statik varlıklara verimli bir önbellek stratejisi sağladığınızda, kullanıcının tarayıcısı bu dosyaları yerel olarak kaydederek sayfanın yüklenmesi için gereken süreyi azaltır. HTML, CSS, JavaScript ve resimler gibi bir sayfanın tüm kaynakları yüklenir yüklenmez indirilmelidir.