Statik Önbellek: Nedir ve Nasıl Çalışır?

Yayınlanan: 2022-06-30

Önbelleğe alma stratejileri yanıltıcıdır, bu nedenle Destek Yöneticimiz Ryan Belisle, daha hızlı bir site sunmak için Statik Önbelleğe Alma'yı kullanmanın bir yolunu açıklamak için biraz zaman aldı.

Öğrenmek için okumaya devam edin:

  • Statik önbellek içeriği nedir?
  • Statik önbelleğin faydaları.
  • Statik önbelleğe alma sınırlamaları.
  • Statik önbelleğe alma nasıl uygulanır.
  • Statik önbelleğe alma nasıl devre dışı bırakılır.

E-ticarette, yalnızca en iyi saatiniz olması gereken zamanda sitenizin çöktüğünü ve yandığını görmek için bir promosyon kampanyası için ödeme yapmaktan ve ışıltısını izlemekten daha sefil birkaç şey vardır. Bazen promosyonlar beklentilerinizi aşar ve proaktif önlemleriniz yeterli olmaz. Sonra ne?

Son dakikada sitenizden daha fazla performans almak için bir taktik, statik önbelleğe alma adı verilen bir yöntemdir.

Önüne bak! Web trafiğinde beklenen ani artışlarla başa çıkmak için bir son dakika yaklaşımı önermiyoruz. Bu, altyapınızı veya uygulamanızı optimize etmeye yönelik en iyi uygulamaları zaten uyguladığınız ve pazarlama sonuçlarınız tüm beklentileri aştığı durumlar içindir.

Önbellek Statik İçeriği nedir?

Pek çok önbelleğe alma biçimi mevcut olsa da, statik önbelleğe alma, bir kullanıcının isteği tarafından oluşturulan sayfayı, sonraki istekleri aynı sayfaya sunmak için bir HTML belgesine dönüştürmek için kullanılan bir yöntemdir .

Sunucunun site kodunu yorumlaması, veritabanını sorgulaması ve müşteriye bir HTML belgesini geri göndermesi ve son olarak sayfayı yüklemesi yerine, statik önbelleğe alma ilk iki adımdan tek bir sonucu kaydeder ve bu belgeyi talepte bulunan herkese sağlar. .

Statik Önbelleğe Alma Avantajları

Temel olmakla birlikte, statik önbelleğe alma, özellikle aşağıdaki alanlarda derin bir etkiye sahip olabilir:

  • Genel giderleri azaltın : Sitedeki sayfalara yapılan istekleri işlemek için PHP süreçleri oluşturmaya ihtiyaç duymak yerine, web sunucusu HTML belgesini statik olarak önbelleğe alınmış sayfadaki isteğe doğrudan geri gönderir.
  • Tüm tıklama trafiği için bir "açılış sayfası" sağlayın : Ana sayfanızı ziyaret eden veya belirli bir URL'ye giden bir bağlantıyı izleyen herhangi biri için kaynak harcamak yerine, bu, sitedeki diğer sayfaların normal çalışmasına müdahale etmeden varsayılan olarak önbelleğe alınmış sayfayı sağlar .

Statik Önbelleğe Alma Sınırlamaları

Bununla birlikte, statik önbelleğe almanın sınırlamaları olduğunu ve genellikle yalnızca geçici bir çözüm olarak kullanılması gerektiğini belirtmek isterim. Aklında tut:

  • Statik bir önbellek tam da budur: statik. Sitede yapılan herhangi bir değişiklik bu şekilde önbelleğe alınan sayfalara yansımayacaktır.
  • Müşterilerinizin oturum dosyalarında saklanan “sepetteki ürünler” veya diğer veri parçaları gibi bilgiler bu sayfalarda çalışmayacaktır.

Statik Önbelleğe Alma Nasıl Uygulanır?

Statik önbelleğe almayı uygulamanın birkaç farklı yolu olsa da, bunu manuel olarak yapmanın temel adımları şunlardır:

1. SSH ile sunucunuza giriş yapın.

2. Statik önbellekte kullanılan HTML belgelerini saklamak için web kökünüzde ayrı bir dizin oluşturun.

3. cURL veya Wget kullanarak, hedef sayfalara istekte bulunun ve bunları ilgili URI adları (indeks, ürünler, vb.)

4. İstekleri statik önbellek dosyalarına yönlendirmek için .htaccess dosyanızın üstüne yeniden yazmalar ekleyin, örneğin:

[kod]
RewriteCond %{REQUEST_URI} ^/?example_category$ [NC]
RewriteRule .* https://www.domain.tld/static/example_category.html [R=302,L]
[/kod]

Alternatif olarak, bu işlemi işlemek için bir komut dosyası da yazabilirsiniz. Aşağıdaki örnek, her satırda ayrı bir URL'ye sahip bir dosya oluşturmanıza olanak tanır. Bu URL'ler daha sonra statik önbelleğinizi oluşturmak için okunacaktır:

[kod dili=”bash”]
#!/bin/bash
# Temel argüman doğrulama
if [ “$#” -ne 2 ]; sonra
echo -e "Komut dosyasına iki bağımsız değişken iletilmelidir.\n\nKullanım: ./nexcess_static_cache_helper.sh etki alanı url_list_file\n"
çıkış 1
fi
# Etki alanı hakkında biraz veri alın
alan=$1
sayfa_dosyası=2$
# Geçerli dizindeki statik sayfalar için dizin oluşturun
cache_dir=./static_cache
eğer ! [[ -d $cache_dir ]]; sonra
mkdir $önbellek_dir
fi
# Statik sayfaları HTML dosyalarına indirin
URL_list=$(kedi $pages_file)
$URL_list içindeki URL için; yapmak
request_uri=$(echo $URL | kesim -d/ -f 4-)
if [[ -z “$request_uri” ]]; sonra
cache_page_name=”indeks”
request_uri=”/”
başka
cache_page_name=$(echo $request_uri | perl -pe 's,/|\.,_,g')
fi
wget -q $URL -O $cache_dir/$cache_page_name.html
echo “$request_uri $cache_page_name” >> $HOME/temp_url.file
tamamlamak
# htaccess için bir blok biçimlendirin
echo -e "########"
echo -e "# BAŞLAT: $(date) tarihinde oluşturulan statik önbellek URL'si Yeniden Yazma"
echo -e "########"
echo -e "Yeniden Yazma Motoru Açık"
kedi $HOME/temp_url.file | uri sayfasını okurken; yapmak
echo “RewriteCond %{REQUEST_URI} ^/?${uri}$ [NC]\n”
echo “RewriteRule .* https://www.${domain}/static_cache/$page [R=302,L]\n”
tamamlamak
echo -e "######"
echo -e "# END: $(date) tarihinde oluşturulan statik önbellek URL yeniden yazma işlemleri"
echo -e "######"
rm $HOME/temp_url.file
[/kod]

Yukarıdaki komut dosyasını kullanmak için:

1. Sitenizin web köküne gidin, ardından cache_list.txt adında bir dosya veya tercih ettiğiniz herhangi bir dosya oluşturun.

2. Dosyayı açın. Her URL girişi için yeni bir satır kullanarak, statik önbelleğe alınması gereken her sayfanın URL'sini ekleyin. Bu aşağıdaki gibi görünmelidir:

[kod]
https://www.example.com/
https://www.example.com/satış
https://www.example.com/products
[/kod]

Dosyayı kaydedin, ardından yukarıdaki komut dosyasıyla bir dosya oluşturun ve onu nexcess_static_cache_helper.sh veya tercih ettiğiniz herhangi bir adla kaydedin.

Dosyayı yürütülebilir yapın:
[kod]chmod +x nexcess_static_cache_helper.sh[/code]

Hazır olduğunuzda, komut dosyasını çalıştırın, ancak kendi dosya adınızı ve gerçek alan adınızı kullanın:
[kod]./nexcess_static_cache_helper.sh example.com cache_list.txt[/code]

Bu, statik önbellek için kullanılacak HTML belgelerini içeren web kökünüzün altında bir static_cache dizini oluşturacaktır. Ek olarak, terminaliniz aşağıdakine benzer bir çıktı gösterecektir:
[kod]
########
# BAŞLANGIÇ: 18 Eylül Pazartesi 15:49:11 EDT 2017'de oluşturulan statik önbellek URL'si Yeniden Yazmaları
########
Yeniden YazmaMotoru Açık
RewriteCond %{REQUEST_URI} ^/?/$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/index [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?sale$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/sale [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?products$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/products [R=302,L]\n
######
# SON: 18 Eylül Pazartesi 15:49:11 EDT 2017'de oluşturulan statik önbellek URL'si Yeniden Yazmaları
######
[/kod]

Yukarıdaki bloğu kopyalayın ve genellikle geçerli dizininizde olması gereken site için .htaccess dosyanızın en üstüne yapıştırın.

Statik önbellek şimdi etkinleştirilmelidir. İyi bir temizlik ruhuyla, önceki adımlarda oluşturduğumuz dosyaları silin:
[kod]rm nexcess_static_cache_helper.sh cache_list.txt[/code]

Statik Önbelleğe Alma Nasıl Devre Dışı Bırakılır

Statik önbelleğe almayı devre dışı bırakmak için .htaccess dosyasına yerleştirilmiş kod bloğunu kaldırın.

Ek olarak, dosyaları yeniden oluşturmanız gerekirse, komut dosyasını yeniden çalıştırın; HTML belgelerini daha yeni sürümlerle değiştirecektir. Gelecekte başvurmak üzere zaman damgasını güncellemek için .htaccess kod bloğunu da değiştirmenizi tavsiye ederim.

Şimdi biliyorsun

Daha önce belirtildiği gibi, bu yalnızca geçici bir yöntemdir ve birincil performans optimizasyon stratejiniz olarak kullanılmamalıdır. Uzun vadeli çözümler için optimizasyon kılavuzumuza bakın, bir CDN uygulayın veya Magento, WooCommerce veya WordPress barındırma gibi ek seçenekleri keşfetmek için Destek Ekibimizle iletişime geçin.

Veya sitenizin performansını nasıl optimize edebileceğinizi görmek için Nexcess'in yönetilen WordPress paketlerine göz atın.