Košarica (0)
  • Vaša košarica je trenutno prazna

NEOSERV BLOG

Novice in nasveti iz sveta domen, gostovanja, SSL certifikatov, spletnih strani, spletnih trgovin in ostalih področij spleta.

Iščete načine, kako pohitriti svojo WordPress spletno stran? Vsekakor niste edini. Vsak lastnik spletne strani si prizadeva optimizirati hitrost svojega spletišča ter na ta način izboljšati uporabniško izkušnjo. Eden najboljših načinov za dosego tega cilja je uporaba sistema Redis.

Redis (REmote DIctionary Server) je visoko zmogljiva baza podatkov, ki deluje po sistemu “ključ – vrednost” (ang. key:value). Gre za izjemno hiter pomnilniški podatkovni strežnik, ki omogoča obdelavo high-level tipov podatkov. Ker je v večini podatkovnih baz danes to praktično nemogoče ali izjemno težko doseči, daje to Redisu edinstveno prednost, ki lahko bistveno izboljša učinkovitost.

Uporaba sistema Redis za predpomnjenje objektov na nivoju strežnika (ang. server-side object caching) lahko močno izboljša čas nalaganja WordPress strani. Redis se uporablja tudi na mnogih priljubljenih spletnih platformah, kot so GitHub, Pinterest, Stack Overflow in druge.

V nadaljevanju spoznajte, kaj je Redis in kako ga lahko uporabite za pohitritev svoje WordPress spletne strani.

Kazalo

Kaj je Redis in kako se uporablja v WordPressu?

Redis je odprtokodni pomnilniški podatkovni strežnik – NoSQL podatkovna baza, ki jo imenujemo tudi strežnik podatkovnih struktur. Razlog za to je, da so njegove osnovne vrste podatkov podobne tistim iz programskih jezikov. Sem sodijo podatkovni nizi (ang. strings), zgoščene vrednosti podatkov (ang. hashes), podatkovne množice (ang. data sets) in druge vrste podatkov.

Odlikujejo ga tudi različna orodja, denimo geoprostorski podatkovni tip (ang. geospatial data type), kot so npr. koordinate, kar omogoča učinkovit razvoj aplikacij, ki zahtevajo delo s temi tipi podatkov.  Prav tako ga odlikuje verjetnostna podatkovna struktura, ki zelo pospeši izračun določenih približkov vrednosti pri velikih količinah podatkov, kar pohitri računske operacije v aplikacijah, kjer zadošča približek in ne točen rezultat (standardni odklon je “zgolj” približno 0,18 %). Zaradi svojega širokega nabora orodij Redis predstavlja odlično izbiro podatkovne baze za sodoben in hiter razvoj aplikacij: Rapid Application Development (RAD).

Dejstvo pa je, da se Redis v povezavi s sistemom WordPress najpogosteje uporablja na področju predpomnjenja, natančneje za predpomnjenje objektov. In prav to je tisto, zaradi česar lahko Redis bistveno pospeši delovanje vaše WordPress spletne strani. Oglejmo si, kaj sploh je predpomnjenje in kako deluje.

Redis in predpomnjenje objektov

Objektno predpomnenje pomeni, da se v pomnilnik shranjujejo rezultati najpogostejših poizvedb podatkovnega strežnika (MariaDB/MySQL). Ob naslednjih zahtevkih po enakih informacijah so rezultati na voljo bistveno hitreje, saj se nalagajo neposredno iz Redis strežnika in ne iz podatkovnega strežnika. To zmanjša obremenitev podatkovne baze in omogoči hitrejši odziv spletne aplikacije.

Redis ne more nadomestiti predpomnenja v celoti, saj je “le” mehanizem za predpomnjenje objektov, ne pa za predpomnjenje vseh elementov aplikacije oz. spletne strani. Redis torej ni zamenjava za obstoječe caching vtičnike, temveč dodatek k obstoječim rešitvam za predpomenjenje.

Redis je sodobna, daleč najhitrejša rešitev za predpomnjenje objektov, ki se vse pogosteje uporablja na platformi WordPress. Preden pa se poglobimo v razlago, zakaj je Redis pri predpomnjenju objektov tako učinkovit, spoznajte osnove “tradicionalnega” predpomnjenja.

Tradicionalno predpomnjenje

Osnovni namen predpomnjenja je hitrejše nalaganje spletne strani, kar dosežemo s shranjevanjem podatkov, do katerih obiskovalci pogosto dostopajo, v predpomnilnik.

Ko obiskovalec dostopa do spletne strani, mora aplikacija oz. spletna stran vzpostaviti povezavo s podatkovno bazo in zahtevati potrebne informacije za prikaz strani. V bazi se torej za dostop do teh informacij izvede zahteva.

Več kot je obiskovalcev, več je poizvedb v podatkovno bazo, kar pomeni, da morajo obiskovalci ob povečanem prometu na prejem podatkov čakati. To je razlog, zakaj spletna stran postane počasna ali celo preneha delovati, ko do nje želi dostopati veliko število obiskovalcev hkrati (npr. med razpošiljanjem e-novic).

Predpomnjenje rešuje to težavo s shranjevanjem podatkov, do katerih bo najverjetneje dostopala večina obiskovalcev. Na primer, večina obiskovalcev bo najprej obiskala domačo stran spletnega mesta, zato bo ta stran po vsej verjetnosti že shranjena v predpomnilnik.

Če je spletna stran predpomnjena, so elementi strani (slike, slogi, vsebina itd.) naloženi le ob prvem obisku, nato pa so shranjeni v predpomnilnik. Sistem si zapomni, kaj je bilo naloženo, ustvari statično različico in jo naslednjič, ko se stran naloži, prikaže hitreje. Rezultat so nižji časi nalaganja strani in zmanjšana uporaba sredstev strežnika, na katerem spletna stran gostuje.

Čeprav je določena stran spletnega mesta že shranjena v predpomnilnik, pa to še ne pomeni, da predpomnjenje ne izvaja poizvedb v podatkovni bazi. Razlika je le v tem, da se do podatkov da dostopati hitreje, vendar se spletna stran ob močno povečanem obisku še vedno lahko upočasni. Dobra novica je, da Redis to težavo v celoti odpravi.

Redis – rešitev za predpomnjenje WordPress objektov

Redis je podatkovna baza v pomnilniku, kar pomeni, da so podatki, ki jih uporablja, shranjeni v RAM pomnilniku strežnika. Zapisovanje v in branje iz predpomnilnika je namreč hitrejše od zapisovanja na in branja z diskovne enote (SSD ali NVMe). To v celoti odpravlja poizvedbe, izvedene v podatkovni bazi, s čimer se delovanje spletne strani bistveno pospeši.

Opravljenih je bilo več študij, ki so pokazale, da se spletna stran, ki za predpomnjenje objektov uporablja Redis, naloži od 10 % do 30 % hitreje – pod pogojem, da je v predpomnilniku na voljo dovolj prostora za hrambo vseh podatkov.

Tu pa nastopi težava, saj je količina podatkov, ki jih Redis lahko obdela, omejena. V resnici ne gre za tako velik problem, kot se sprva zdi, saj običajen blog v večini primerov nima težav z uporabo Redis predpomnjenja. Redis se namreč te težave zaveda in ima vgrajene načine za njeno omilitev.

Glavni način za ublažitev težave je politika poteka in izbrisa podatkov. Vsak del podatka je mogoče opremiti s t. i. časom življenja (ang. Time To Live – TTL), ki se lahko giblje od nekaj sekund do več dni. Ko ta čas mine, se podatki odstranijo.

Ta sistem pomaga ohranjati minimalno količino shranjenih podatkov, kar spletni strani onemogoča prekoračitev omejitve Redisa (razen v situacijah z ekstremno povečanim prometom). Iz teh razlogov velja, da je Redis najboljša rešitev za predpomnjenje, ki je trenutno na voljo za WordPress.

Če je vaša WordPress spletna stran statična in zahteva le nalaganje slogovne datoteke (style.css) in nekaj slik, z uporabo predpomnjenja objektov ne boste opazili bistvene razlike. Nasprotno pa dinamično spletno mesto lahko naloži ogromno podatkov, ki so shranjeni v bazi podatkov, npr. podrobnosti uporabnikov, taksonomije, povezave in podobno. Z uporabo Redisa se vsi ti podatki shranijo v predpomnilnik in so pripravljeni za prikaz na strani v trenutku. Časi nalaganja strani so tako mnogo nižji, uporaba strežniških virov pa je bistveno učinkovitejša.

Pogosta vprašanja v povezavi z Redisom

V nadaljevanju smo pripravili nekaj vprašanj, ki se pogosto pojavljajo v povezavi z Redisom in sistemom WordPress, ter nanja podali odgovore.

1. Kdaj je smiselna uporaba Redis pri WordPress / WooCommerce?

Uporaba Redis tehnologije je najbolj smiselna, ko želimo optimizirati spletno aplikacijo ali spletno stran, ki je deležna velikega števila uporabnikov. Pri majhnem ali srednje velikem številu uporabnikov Redis ne bo prišel toliko do izraza. Šele pri velikem številu obiskovalcev se namreč pričnejo pojavljati ozka grla, najpogostejše ozko grlo pri performansah pa so množične poizvedbe na podatkovni strežnik. Točno to ozko grlo rešuje oz. naslavlja tehnologija Redis.

2. Ali lahko Redis deluje tudi z drugimi podatkovnimi bazami?

Redis ni omejen le na delovanje v kombinaciji z MySQL. Priljubljena izbira v skupnosti WordPressa je tudi podatkovna baza MariaDB, s katero Redis – kot rešitev za predpomnjenje – prav tako deluje odlično. V večini primerov vam nič ne preprečuje, da bi Redis uporabljali z drugo podatkovno bazo. Edini omejujoči dejavnik je, ali spletno gostovanje podpira Redis in podatkovno bazo, ki jo želite uporabiti.

3. Je uporaba Redisa v okolju WordPress prijazna do začetnikov?

Nastavitev predpomnjenja z uporabo Redisa je v WordPressu izjemno enostavna, saj obstaja kar nekaj WordPress vtičnikov, ki omogočajo komunikacijo med obema sistemoma. V večini primerov je potrebna le osnovna začetna nastavitev, nato pa se vse izvaja samodejno. Kljub temu Redis ponuja možnost določenih prilagoditev in sprememb za doseganje učinkovitejšega predpomnjenja, in tu začne postajati uporabniku nekoliko manj prijazen.

Omenjena težava pa je pravzaprav posledica pomanjkanja spletnih virov. Redis namreč še ni povsem uveljavljen, zato, za razliko od MySQL, na spletu ni neomejenega števila vodičev z nasveti in triki za njegovo uporabo. Glede na vse večjo priljubljenost Redisa se bo to verjetno kmalu sremenilo.

4. Ali je Redis dobra izbira za spletne trgovine?

Vsaki spletni trgovini, ki se nalaga počasi, grozi izguba obiskovalcev. Dejstvo je, da Redis lahko bistveno pospeši spletno trgovino in s tem zmanjša verjetnost, da bi stranke trgovino zapustile. Obenem se s hitrejšim nalaganjem verjetnost za opravljen spletni nakup poviša.

Spletne trgovine imajo običajno veliko dinamičnih elementov, predpomnjenje pa je neprecenljivo orodje, da ti delujejo učinkovito. V predpomnilnik se lahko shranijo nedavno ogledani izdelki, priporočila na podlagi lokacije, posodobitve zaloge in marsikaj drugega. Na ta način obiskovalci vidijo najrelevantnejše izdelke hitreje kot kdajkoli prej.

5. Ali se Redis lahko uporablja tudi v druge namene?

Redis se uporablja tudi pri procesih, ki niso povezani s predpomnjenjem, vendar v povezavi z WordPressom to običajno ni pomembno.

Ena bistvenih prednosti Redisa je uporaba funkcionalnosti Pub/Sub, zato je odlična rešitev za aplikacije v realnem času in pretočne dogodke v živo. Primeren je tudi za lestvice najboljših v igrah, saj lahko hitro posodobi podatke, ko igralec doseže nov rezultat.

Nekateri uporabniki Redis uporabljajo na področju strojnega učenja, geoprostorskih podatkov (npr. čas vožnje v GPS), analiz v realnem času in drugo. Večina teh funkcij se torej uporablja izven WordPressa, vendar se to lahko spremeni, ko bo Redis postal še bolj popularna rešitev.

Pohitritev WordPress strani z uporabo Redisa

Svoje WordPress spletno mesto lahko pohitrite na različne načine. Eden tistih, ki naredi največ razlike v hitrosti nalaganja in ga boste zagotovo našli na vsakem seznamu, je uporaba rešitve za predpomnjenje. Marsikateri spletni strokovnjak bi se strinjal s trditvijo, da je za WordPress spletišča prav Redis najboljša rešitev na tem področju.

Z uporabo Redisa lahko izboljšate odzivnost spletne strani in na ta način pozitivno vplivate na uporabniško izkušnjo. Kar je prav tako pomembno, pa je, da s tem lahko izboljšate tudi svoje SEO uvrstitve, saj je hitrost pomemben dejavnik, ki ga Google upošteva pri razvrščanju rezultatov iskanja.

Pri NEOSERV uporabo Redis predpomnjenja svetujemo vsem lastnikom večjih in visoko obiskanih spletnih trgovin in portalov ter lastnikom zahtevnejših spletnih aplikacij. Če uporabljate WordPress, lahko učinkovito Redis predpomnjenje dosežete z uporabo vtičnika (npr.: LiteSpeed Cache for WordPress, W3 Total Cache, Redis Object Cache), prepričajte se le, da imate v nadzorni plošči cPanel vključeno PHP razširitev redis (cPanel -> Izberi PHP Verzijo -> Extensions -> redis).

Ali Redisa še ne uporabljate? Preizkusite njegovo učinkovitost še danes in se prepričajte, da bo vaša WordPress spletna stran delovala bistveno hitreje.

KOMENTARJI

KOMENTIRAJTE OBJAVO

(obvezno)
(obvezno, e-poštni naslov bo skrit)
(neobvezno)
Varnostno vprašanje, ki potrdi, da ste resnična oseba.