Stratégie ukladania do vyrovnávacej pamäte sú zložité, takže nášmu manažérovi podpory, Ryanovi Belisle, venoval nejaký čas vysvetlenie jedného spôsobu použitia statickej vyrovnávacej pamäte na poskytovanie rýchlejšieho webu.
Pokračujte v čítaní a dozviete sa:
V elektronickom obchode je len málo vecí nešťastnejších ako platiť za propagačnú kampaň a pozerať sa, ako sa leskne, len aby ste videli, ako sa vaša stránka zrúti a zhorí počas toho, čo by mala byť vaša najlepšia hodina. Niekedy propagácia prekoná vaše očakávania a vaše proaktívne opatrenia nestačia. Čo potom?
Jednou taktikou, ako z vášho webu na poslednú chvíľu vyžmýkať vyšší výkon, je metóda nazývaná statické ukladanie do vyrovnávacej pamäte.
Hlavy hore! Neodporúčame pristupovať na poslednú chvíľu na riešenie očakávaných prudkých nárastov návštevnosti webu. Je to v prípade, že ste už aplikovali osvedčené postupy optimalizácie infraštruktúry alebo aplikácie a vaše marketingové výsledky prekračujú akékoľvek očakávania.
Čo je statický obsah vyrovnávacej pamäte?
Hoci je k dispozícii mnoho foriem ukladania do vyrovnávacej pamäte, statické ukladanie do vyrovnávacej pamäte je metóda na konverziu stránky vygenerovanej požiadavkou používateľa na dokument HTML na doručenie akýchkoľvek ďalších požiadaviek na rovnakú stránku.
Namiesto toho, aby server interpretoval kód lokality sám, spýtal sa databázy a vrátil dokument HTML späť zákazníkovi a nakoniec načítal stránku, statické ukladanie do vyrovnávacej pamäte uloží jeden výsledok z prvých dvoch krokov a poskytne tento dokument komukoľvek inému, kto zadá požiadavku. .
Výhody statického ukladania do vyrovnávacej pamäte
Aj keď je statické ukladanie do vyrovnávacej pamäte základné, môže mať hlboký účinok, najmä v nasledujúcich oblastiach:
- Znížte réžiu: Namiesto toho, aby bolo potrebné generovať procesy PHP na spracovanie požiadaviek na stránky na lokalite, webový server iba odošle HTML dokument priamo späť požiadavke na stránku v statickej vyrovnávacej pamäti.
- Poskytnite „vstupnú stránku“ pre všetku návštevnosť po prekliknutí: Namiesto toho, aby ste míňali prostriedky za každého, kto navštívi vašu domovskú stránku alebo sleduje odkaz na konkrétnu adresu URL, poskytuje sa stránka uložená vo vyrovnávacej pamäti v predvolenom nastavení bez toho, aby zasahovala do bežnej prevádzky iných stránok na lokalite.
Obmedzenia statického ukladania do vyrovnávacej pamäte
Chcem však zdôrazniť, že statické ukladanie do vyrovnávacej pamäte má obmedzenia a vo všeobecnosti by sa malo používať iba ako dočasné riešenie. Mysli na to:
- Statická vyrovnávacia pamäť je práve to: statická. Akékoľvek zmeny vykonané na stránke sa na stránkach uložených týmto spôsobom neprejavia.
- Informácie ako „položky v košíku“ alebo iné údaje uložené v súboroch relácie vašich zákazníkov nebudú na týchto stránkach fungovať.
Ako implementovať statické ukladanie do vyrovnávacej pamäte
Aj keď existuje niekoľko rôznych spôsobov implementácie statického ukladania do vyrovnávacej pamäte, tu sú základné kroky, ako to urobiť manuálne:
1. Prihláste sa na svoj server pomocou SSH.
2. Vytvorte samostatný adresár vo svojom webroot na ukladanie dokumentov HTML používaných v statickej vyrovnávacej pamäti.
3. Pomocou cURL alebo Wget vytvorte požiadavky na cieľové stránky a uložte ich do adresára pod ich príslušnými názvami URI (index, produkty atď.)
4. Pridajte prepisy do hornej časti súboru .htaccess, aby ste presmerovali požiadavky do statických súborov vyrovnávacej pamäte, ako sú napríklad tieto:
[code]
RewriteCond %{REQUEST_URI} ^/?example_category$ [NC]
RewriteRule .* https://www.domain.tld/static/example_category.html [R=302,L]
[/code]
Prípadne môžete napísať skript, ktorý tento proces zvládne. Nižšie uvedený príklad vám umožňuje vytvoriť súbor so samostatnou adresou URL na každom riadku. Tieto adresy URL sa potom načítajú, aby sa vygenerovala vaša statická vyrovnávacia pamäť:
[code language=”bash”]
#!/bin/bash
# Základné overenie argumentov
ak [ “$#” -ne 2 ]; potom
echo -e “Do skriptu je potrebné odovzdať dva argumenty.\n\nPoužitie: ./nexcess_static_cache_helper.sh doména url_list_file\n”
výstup 1
fi
# Získajte nejaké údaje o doméne
doména = $ 1
pages_file=2 doláre
# Vytvorte adresár pre statické stránky v aktuálnom adresári
cache_dir=./static_cache
ak ! [[ -d $cache_dir ]]; potom
mkdir $cache_dir
fi
# Stiahnite si statické stránky do súborov HTML
URL_list=$(mačka $pages_file)
pre URL v $URL_list; robiť
request_uri=$(echo $URL | cut -d/ -f 4-)
ak [[ -z “$request_uri” ]]; potom
cache_page_name=”index”
request_uri=”/”
inak
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
hotový
# Naformátujte blok pre htaccess
echo -e “########”
echo -e “# START: Prepisy adries URL statickej vyrovnávacej pamäte vygenerované dňa $(dátum)”
echo -e “########”
echo -e “RewriteEngine On”
cat $HOME/temp_url.file | pri čítaní stránky uri; robiť
echo “RewriteCond %{REQUEST_URI} ^/?${uri}$ [NC]\n”
echo “RewriteRule .* https://www.${domain}/static_cache/$page [R=302,L]\n”
hotový
echo -e “######”
echo -e “# KONIEC: Prepisy adries URL statickej vyrovnávacej pamäte vygenerované dňa $(dátum)”
echo -e “######”
rm $HOME/temp_url.file
[/code]
Ak chcete použiť vyššie uvedený skript:
1. Prejdite na webový koreň svojej stránky a vytvorte súbor s názvom cache_list.txt alebo iný, ktorý chcete.
2. Otvorte súbor. Pridajte adresu URL pre každú stránku, ktorú je potrebné uložiť do statickej vyrovnávacej pamäte, pomocou nového riadku pre každú položku adresy URL. Malo by to vyzerať takto:
[code]
https://www.example.com/
https://www.example.com/predaj
https://www.example.com/produkty
[/code]
Uložte súbor, potom vytvorte súbor s vyššie uvedeným skriptom a uložte ho ako nexcess_static_cache_helper.shalebo akékoľvek meno, ktoré uprednostňujete.
Spravte súbor ako spustiteľný:
[code]chmod +x nexcess_static_cache_helper.sh[/code]
Keď budete pripravený, spustite skript, ale nahraďte ho vlastným názvom súboru a skutočným názvom domény:
[code]./nexcess_static_cache_helper.sh example.com cache_list.txt[/code]
Tým sa vytvorí adresár static_cache pod vaším webrootom obsahujúci dokumenty HTML, ktoré sa majú použiť pre statickú vyrovnávaciu pamäť. Okrem toho váš terminál zobrazí výstup podobný:
[code]
########
# ŠTART: Prepisy adries URL statickej vyrovnávacej pamäte vygenerované v pondelok 18. septembra 15:49:11 EDT 2017
########
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?/$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/index [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?predaj$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/sale [R=302,L]\n
RewriteCond %{REQUEST_URI} ^/?produkty$ [NC]\n
RewriteRule .* https://www.example.com/static_cache/products [R=302,L]\n
######
# KONIEC: Prepisy adries URL statickej vyrovnávacej pamäte vygenerované v pondelok 18. septembra 15:49:11 EDT 2017
######
[/code]
Skopírujte vyššie uvedený blok a prilepte ho na začiatok svojho súboru .htaccess pre danú lokalitu, ktorý by sa vo všeobecnosti mal nachádzať vo vašom aktuálnom adresári.
Statická vyrovnávacia pamäť by teraz mala byť povolená. V duchu dobrého upratovania odstráňte súbory, ktoré sme vygenerovali v predchádzajúcich krokoch:
[code]rm nexcess_static_cache_helper.sh cache_list.txt[/code]
Ako zakázať statické ukladanie do vyrovnávacej pamäte
Ak chcete zakázať statické ukladanie do vyrovnávacej pamäte, odstráňte blok kódu umiestnený v súbore .htaccess.
Okrem toho, ak potrebujete obnoviť súbory, spustite skript znova a nahradí dokumenty HTML novšími verziami. Odporúčam tiež nahradiť blok kódu .htaccess, len aby ste aktualizovali časovú pečiatku pre budúce použitie.
Teraz viete
Ako už bolo uvedené, je to len dočasná metóda a nemala by sa používať ako primárna stratégia optimalizácie výkonu. Ak chcete získať dlhodobé riešenia, pozrite si naše optimalizačný sprievodcaimplementujte CDN alebo kontaktujte náš tím podpory a preskúmajte ďalšie možnosti, ako je hosťovanie Magento, WooCommerce alebo WordPress.
Alebo si pozrite spravované balíky WordPress od Hostinger a zistite, ako môžete optimalizovať výkon svojich stránok.