Cache-ul WordPress poate reduce încărcarea serverului. Fiecare strat de cache gestionează o parte diferită a procesului.
Cea mai bună alegere depinde de resursa supusă presiunii, de procentul de vizualizări repetate ale paginilor și de cât de mult din site trebuie să rămână dinamic. O memorie cache poate îmbunătăți viteza de încărcare fără a rezolva toate problemele legate de procesor, memorie RAM, baza de date, disc sau lățime de bandă.
Cuprins
Ce face fiecare strat de cache
| Stratul de cache | Sarcini pe care le poate evita | Cea mai potrivită utilizare |
|---|---|---|
| Cache | Generarea repetată a paginilor WordPress pentru răspunsuri care pot fi stocate în cache | Pagini publice pe care mulți vizitatori le pot primi în aceeași formă |
| Cache de obiecte | Recuperarea sau crearea repetată a datelor utilizate la generarea unei pagini | Site-uri în care WordPress procesează în mod repetat aceleași date |
| Cache CDN | Livrarea repetată a conținutului stocat în cache de la serverul de origine | Vizitatori care solicită conținut static sau care poate fi stocat în cache din locații diferite |
LiteSpeed Cache pentru WordPress poate funcționa cu cache-ul la nivel de server. În cazul instalărilor efectuate automat din panoul mybox, este posibil ca pluginul să fie deja disponibil sau gata de configurare. Rolul său este optimizarea performanței prin cache la nivel de WordPress și de server, mai degrabă decât înlocuirea oricărui alt strat de cache. Citiți prezentarea generală mybox a LiteSpeed Cache pentru WordPress.
Cum afectează straturile resursele serverului
CPU
Cache-ul pe pagină întreagă poate economisi cea mai mare parte a efortului de generare a paginii atunci când vizitatorii solicită aceeași pagină publică. WordPress nu trebuie să efectueze întregul proces de generare pentru fiecare accesare a cache-ului. Cache-ul de obiecte poate reduce, de asemenea, procesarea repetată, dar WordPress trebuie totuși să gestioneze solicitarea și să construiască răspunsul pe baza datelor stocate în cache.
O rețea CDN poate reduce numărul de solicitări care ajung la serverul de origine atunci când conținutul solicitat este disponibil în cache-ul CDN. Acest lucru poate reduce procesarea la nivelul serverului de origine pentru acele solicitări. Totuși, nu elimină efortul procesorului pentru solicitările care trebuie să rămână dinamice sau care nu sunt servite din cache-ul CDN.
RAM
Stocarea în cache poate modifica modul în care este utilizată memoria serverului, dar efectul depinde de stratul de cache și de configurația acestuia. Stocarea în cache a paginii întregi evită repetarea operațiunilor aplicației, în timp ce stocarea în cache a obiectelor păstrează datele reutilizabile disponibile pentru solicitările ulterioare. Un CDN păstrează copii în cache în afara serverului de origine, astfel încât conținutul furnizat de CDN nu trebuie generat de mybox pentru fiecare solicitare.
Utilizarea intensă a procesorului și a memoriei RAM poate duce la performanțe lente și la erori 503 "Serviciu indisponibil". Cachingul este, prin urmare, relevant atunci când operațiunile repetate ale WordPress contribuie la suprasolicitarea resurselor, dar ar trebui evaluat în funcție de tipul de solicitări pe care le primește site-ul. Aflați de ce un site WordPress poate suprasolicita procesorul și memoria RAM.
Interogări ale bazei de date
Cache-ul de obiecte este cea mai directă alegere atunci când recuperarea repetată a datelor face parte din volumul de lucru. Acesta poate reutiliza datele în timp ce WordPress generează un răspuns. Cache-ul de pagină întreagă poate evita complet accesarea bazei de date în cazul unui hit de cache, deoarece răspunsul complet este reutilizat. Un CDN nu reduce, de obicei, interogările bazei de date pentru cererile care ajung totuși la WordPress.
Pentru un site public cu multe vizualizări identice ale paginilor, stocarea în cache a paginii întregi abordează de obicei operațiunile repetate de generare a paginilor mai direct decât stocarea în cache a obiectelor. Pentru paginile care trebuie generate pentru fiecare solicitare, stocarea în cache a obiectelor poate fi mai relevantă, deoarece reduce operațiunile repetate de prelucrare a datelor fără a necesita ca întregul răspuns să fie identic.
I/O pe disc
Cache-ul de pagină completă și cache-ul de obiecte pot reduce procesarea repetată care, altfel, ar putea implica activitatea aplicației sau a bazei de date. O rețea CDN poate reduce solicitările către serverul de origine pentru conținutul deja stocat la marginea rețelei CDN. Efectul exact asupra activității discului depinde de modul în care cache-ul stochează și servește datele, astfel încât un test de viteză a paginii nu dovedește, în sine, că presiunea asupra discului a fost eliminată.
Lățime de bandă
Un CDN joacă cel mai evident rol în reducerea lățimii de bandă furnizate direct de serverul de origine pentru conținutul livrat din cache-ul CDN. Stocarea în cache a paginii întregi poate reduce efortul necesar pentru generarea unui răspuns, dar răspunsul stocat în cache poate fi totuși livrat de serverul de origine. Cache-ul de obiecte vizează în principal procesarea datelor interne și nu reprezintă o modalitate directă de a muta livrarea departe de server.
Paginile dinamice modifică decizia privind stocarea în cache
Cache-ul pe întreaga pagină funcționează cel mai bine atunci când mulți vizitatori pot primi același răspuns public. Este nevoie de mai multă atenție în cazul paginilor care conțin conținut privat, bazat pe sesiune sau specific utilizatorului. WooCommerce este un exemplu clar: obiectivul este de a stoca în cache conținutul adecvat pentru vizitatori, păstrând în același timp interacțiunile private pentru cumpărători. Vedeți cum este gestionată stocarea în cache pentru WooCommerce pe un CDN.
Cache-ul de obiecte este util alături de funcționalitățile dinamice, deoarece nu necesită ca pagina completă să fie identică pentru fiecare vizitator. Acesta poate susține procesarea repetată a datelor, în timp ce pagina rămâne personalizată. Un CDN poate furniza în continuare conținut static sau cacheabil adecvat, dar interacțiunile private nu ar trebui tratate în același mod ca răspunsurile publice cacheabile.
Când combinarea straturilor de cache este utilă
Straturile pot servi scopuri diferite. Cache-ul la nivel de pagină poate gestiona răspunsurile publice repetate, cache-ul de obiecte poate reduce procesarea repetată a datelor pentru paginile care încă rulează prin WordPress, iar un CDN poate furniza conținut cache eligibil fără a trimite fiecare cerere către sursa de origine.
Combinarea acestora devine inutilă atunci când mai multe straturi încearcă să memoreze în cache același răspuns dinamic. De asemenea, poate îngreuna invalidarea: o modificare poate fi reflectată într-un cache, în timp ce o copie mai veche rămâne în altul. Pentru un site cu pagini preponderent publice, începeți cu stratul care corespunde principalului punct de blocaj. Pentru un site dinamic, păstrați interacțiunile private și utilizați stocarea în cache numai acolo unde răspunsul poate fi reutilizat în siguranță.
Alegerea stratului potrivit pentru modelul dumneavoastră de trafic
- Mulți vizitatori care accesează aceleași pagini publice: acordați prioritate cache-ului pentru pagini întregi. Adăugați un CDN atunci când lățimea de bandă a sursei sau livrarea repetată reprezintă principala preocupare.
- Multe solicitări dinamice care utilizează aceleași date WordPress: luați în considerare stocarea în cache a obiectelor, deoarece pagina completă nu poate fi întotdeauna reutilizată.
- Vizitatori distribuiți în diverse locații: un CDN poate reduce livrările repetate de la sursa de origine pentru conținutul stocat în cache-ul său.
- WooCommerce sau alte interacțiuni private: păstrați conținutul cacheabil destinat vizitatorilor separat de interacțiunile private ale cumpărătorilor. Nu tratați fiecare răspuns ca pe o pagină publică.
- Presiune asupra procesorului și memoriei RAM: identificați dacă sarcina de lucru provine din generarea repetată a paginilor sau din procesarea dinamică. Stratul de cache adecvat depinde de această distincție.
Concluzie cheie
Cache-ul pe întreaga pagină este, de obicei, cea mai eficientă metodă de a reduce efortul repetat pentru pagini publice identice. Cache-ul de obiecte este mai potrivit pentru prelucrarea repetată a datelor în cadrul cererilor dinamice. Un CDN reduce în principal livrarea de la sursă pentru conținutul pe care îl poate furniza din propria sa memorie cache. Utilizați mai multe straturi numai atunci când fiecare are un rol distinct și răspunsurile dinamice și private rămân protejate.