Hosting i performanse
Kako činimo WordPress brzim: LiteSpeed Enterprise, LSCache i Redis po web-mjestu
Najbrži WordPress zahtjev je onaj koji se nikada ne izvrši — evo kako naš stog odgovara na većinu posjeta iz predmemorije prije nego što se uopće pozovu PHP ili MySQL, te što to znači za Core Web Vitals.
Najbrži zahtjev je onaj koji se nikada ne izvrši
Standardni WordPress zahtjev je resursno zahtjevan. Web poslužitelj prosljeđuje zahtjev PHP-u, PHP pokreće WordPress, izvršava priključke, šalje upite bazi MySQL nekoliko desetaka puta, sastavlja HTML i tek tada šalje bajtove natrag. Na posjećenoj web-stranici cijeli se taj proces odvija za svakog posjetitelja i upravo tu odlazi gotovo cijelo Vaše vrijeme do prvog bajta.
Naš je odgovor osigurati da se za većinu posjeta ništa od toga uopće ne dogodi. Na svim web-mjestima koja ugošćujemo — više od 100.000 PBN web-mjesta uz standardni upravljani WordPress — velika većina prikaza stranica na korisničkom sučelju poslužuje se kao unaprijed renderirana cijela stranica izravno iz predmemorije, bez pokretanja PHP-a ili pristupanja bazi podataka. Ostatak ove objave govori o tome kako se slojevi koji to omogućuju međusobno uklapaju i gdje svaki od njih zaslužuje svoje mjesto.
Važno je naglasiti da ovo nisu konkurentski predmemorijski sustavi između kojih birate. Predmemorija cijele stranice, predmemorija objekata i CDN rub (edge) prihvaćaju različite vrste zahtjeva, a prava vrijednost leži u tome kako se međusobno nadopunjuju i prosljeđuju zahtjeve.
LiteSpeed Enterprise + LSCache: sloj cijele stranice
Svaka web-stranica radi na LiteSpeed Enterprise s LSCache na razini poslužitelja. Kada se odgovor prednjeg dijela (front-end) može predmemorirati, web-poslužitelj ga označava zaglavljima LiteSpeed cache-control i oznakama, a LiteSpeed poslužuje cijelu stranicu izravno pri sljedećem posjetu — ne pokreće se PHP proces, ne šalje se MySQL upit. To je pojedinačno najveći čimbenik za WordPress TTFB, jer u potpunosti uklanja pokretanje aplikacije iz kritične putanje.
Budući da se LSCache nalazi unutar web poslužitelja, a ne u PHP priključku, počinje raditi ranije u životnom ciklusu zahtjeva i pohranjuje stranice u obliku koji poslužitelj može trenutačno isprazniti. Alat za indeksiranje predmemorije održava popularne stranice spremnima, tako da prvi posjetitelj nakon pražnjenja ne snosi teret ponovnog generiranja stranice. Rezultat je znatno niži i dosljedniji TTFB u usporedbi s predmemorijom koja se oslanja samo na priključak pridodan generičkom sustavu, gdje se predmemorija i dalje nalazi iza PHP-a.
Naš vlastiti dodatak za predmemoriju na razini repozitorija isporučuje se unaprijed instaliran i automatski se ažurira na svakoj web-stranici, ispravno povezujući WordPress s LSCache odmah nakon pokretanja. Na izvoru koji nije LiteSpeed, on jednostavno ne šalje zaglavlja za cijele stranice i uklanja se s puta, dok predmemorija objekata i pravila izuzimanja nastavljaju raditi svoj posao — tako da migrirana web-stranica nikada ne ostane u neispravnom, napola konfiguriranom stanju.
Ostanite brzi bez posluživanja zastarjelog sadržaja: ESI i pametno automatsko čišćenje
Agresivno predmemoriranje cijele stranice ima dva klasična načina kvara: posluživanje tuđe stranice prijavljenom korisniku i posluživanje stranice koja se trebala promijeniti bilo kome. Oba se rješavaju na razini predmemorije, a ne smanjenjem predmemoriranja.
ESI (Edge Side Includes) omogućuje nam predmemoriranje stranice uz izuzimanje dijelova koji moraju ostati dinamični. U trgovini WooCommerce stranice kataloga, proizvoda i kategorija poslužuju se iz predmemorije cijele stranice radi najbržeg mogućeg TTFB-a, dok ESI generira fragment košarice, ukupne iznose mini-košarice i status računa po pojedinačnom zahtjevu. Stranice košarice, naplate, korisničkog računa te sve stranice s jednokratnim sigurnosnim tokenima (nonce) ili sesijama izuzete su prema zadanim postavkama. Kupci uvijek vide vlastitu košaricu i funkcionalnu naplatu; svi ostali i dalje dobivaju izlog trgovine iz predmemorije.
Ažurnošću upravlja pametno automatsko čišćenje. Kuke za čišćenje (purge hooks) automatski se aktiviraju prilikom promjene sadržaja, proizvoda, cijena ili narudžbi, pa se relevantne predmemorirane stranice osvježavaju odmah umjesto prema mjeraču vremena, a čišćenje možete zatražiti i na zahtjev s nadzorne ploče ili unutar WordPress-a. Čišćenje temeljeno na oznakama znači da uređivanje jedne objave briše samo tu objavu i njezine arhive — a ne cijelu predmemoriju — stoga jedno uređivanje ne uzrokuje hladno pokretanje (cold-start) cijelog web-mjesta.
Objektni predmemorijski spremnik Redis po web-mjestu: za ono što ne može biti cijela stranica
Ne može svaki zahtjev biti statična cijela stranica. Prijavljene sesije, WordPress administracija, WooCommerce košarice, pretraživanje i dinamički fragmenti koje ESI ostavlja aktivnima moraju pokretati PHP. Za njih se cilj pomiče s 'preskakanja aplikacije' na 'preskakanje baze podataka'.
Svaka web-stranica dobiva vlastitu namjensku Redis predmemoriju objekata. WordPress u memoriju sprema rezultate ponovljenih čitanja baze podataka — opcije, prolazne podatke (transients), pretraživanja objava i pojmova, podatke o proizvodima i sesijama za WooCommerce — tako da se isti upit ne izvršava prema MySQL-u pri svakom posjetu. Učinak je najvidljiviji upravo tamo gdje predmemorija cijele stranice ne može pomoći: brže nadzorne ploče, brže košarice i znatno manje opterećenje baze podataka pod prometom.
Predmemorija objekata dodijeljena je pojedinačno svakoj web-lokaciji i ne dijeli se, što je važno i za performanse i za izolaciju. U kombinaciji s ograničavanjem baze podataka po pojedinoj web-lokaciji, teški ili loše napisani upiti jedne web-lokacije ne mogu uskratiti resurse baze podataka susjednim lokacijama. Više o tome kako cijelo višeslojno rješenje funkcionira možete pročitati na našoj stranici o značajkama predmemoriranja, a o granicama između korisnika u odjeljku o izolaciji.
Edge i transport ispod njega
Predmemorija koja se nalazi na izvorišnom poslužitelju i dalje mora prolaziti kroz mrežu. Ispred poslužitelja nalazi se rub CDN-a, tako da se statički resursi i stranice koje se mogu predmemorirati poslužuju s točke prisutnosti u blizini posjetitelja, a izvorišni poslužitelj ostaje neopterećen čak i pod opterećenjem. Za našu liniju hostinga bez digitalnog otiska (footprint-free), taj isti rub predstavlja više-CDN skup podijeljen među nekoliko pružatelja usluga, što služi uklanjanju tragova jednako kao i performansama; na standardnom WordPress posluživanju to je jednostavno brz, pouzdan sloj koji održava izvorišne poslužitelje u stanju mirovanja.
U svojoj osnovi, na temeljima se nije štedjelo. Web-stranice rade na NVMe pohrani s protokolom HTTP/3, stoga bajtovi koje predmemorija šalje stižu putem modernog, multipleksiranog prijenosa s brzom pohranom iza svakog promašaja predmemorije (cache miss). Nijedan od ovih slojeva nije dodatak: LiteSpeed, LSCache, Redis po stranici, NVMe i HTTP/3 osnovni su standard u svakom paketu, a ne razina za dodatnu prodaju.
Što zapravo utječe na Core Web Vitals
Vrijedi biti precizan jer se hosting često preuveličava u pogledu Core Web Vitals. TTFB je dio jednadžbe za koji je zadužen poslužitelj, a gore navedeni sustav predmemoriranja je ono što ga smanjuje — predmemorirana cijela stranica poslužena putem protokola HTTP/3 s ruba mreže približno je najniža moguća vrijednost za TTFB. Budući da je TTFB vodeći element za Largest Contentful Paint, brzo polazište daje svakoj sljedećoj metrici prednost koju inače ne bi mogla imati.
No, o parametrima LCP, CLS i INP uglavnom se odlučuje u pregledniku, od strane same stranice: neoptimizirana glavna (hero) slika, CSS i JavaScript koji blokiraju renderiranje, izgled koji se pomiče kako se fontovi i oglasi učitavaju, te veliko opterećenje glavne niti (main-thread) uzrokovano priključcima. Nikakva količina predmemoriranja na poslužitelju ne može popraviti glavnu sliku od 2 MB ili temu koja isporučuje megabajte JavaScripta. Iskren hosting doprinos poslužitelja čini praktički neprimjetnim i dosljednim, a zatim je na samoj stranici da zadrži frontend rasterećenim.
Ta podjela rada koristan je mentalni model. Jamčimo da zahtjev brzo stiže do preglednika i ostaje brz pod prometnim opterećenjem; Vi održavate podatkovni paket malim i stabilnim. Upravo tamo gdje se to dvoje susreće — zagrijavanje predmemorije, isporuka na rubu mreže (edge delivery) i održavanje baze podataka responzivnom kako se dinamičke stranice ne bi usporavale — naš je sustav precizno podešen, a to je ono što upravljani WordPress na ovoj platformi čini bržim od istog web-mjesta na generičkom poslužitelju.
Često postavljana pitanja
Trebam li još uvijek priključak za predmemoriranje kao što je WP Rocket?
Ne. Predmemoriranje cijelih stranica na web-poslužitelju obavlja LiteSpeed-ov LSCache, a naš vlastiti dodatak za predmemoriju — unaprijed instaliran i automatski ažuriran — ispravno povezuje WordPress s njim, uz Redis predmemoriju objekata za svako web-mjesto u pozadini. Dodavanje drugog dodatka za predmemoriranje cijelih stranica obično se sukobljava s predmemorijom na razini poslužitelja umjesto da pomaže, stoga to nije potrebno niti se preporučuje.
Hoće li predmemoriranje pokvariti moju WooCommerce košaricu ili stranice za prijavljene korisnike?
Ne. Košarica, naplata, my-account i sve stranice s nonce-om ili sesijom prema zadanim su postavkama isključeni iz predmemorije, a ESI održava fragment košarice i ukupne iznose ažurnima na stranicama koje su inače u predmemoriji. Kupci uvijek vide vlastitu košaricu i funkcionalnu naplatu dok se izlog trgovine i dalje učitava iz predmemorije.
Kako predmemorija ostaje ažurna kada objavljujem ili uređujem?
Pametno automatsko čišćenje pokreće se na odgovarajućim WordPress kukama, pa objavljivanje, uređivanje sadržaja ili promjena proizvoda, cijene ili narudžbe čisti samo zahvaćene stranice i njihove arhive — ne cijeli predmemorijski spremnik — a indeksator ih ponovno priprema. Također možete izvršiti čišćenje na zahtjev s nadzorne ploče ili unutar WordPress sustava.
Može li mi samo hosting pružiti savršene Core Web Vitals?
To vam pruža najbolji mogući TTFB, što predstavlja udio poslužitelja i početnu prednost za Largest Contentful Paint. No LCP, CLS i INP uvelike određuje sama stranica — veličine slika, resursi koji blokiraju renderiranje, stabilnost izgleda i JavaScript na glavnoj niti. Naš stog čini doprinos poslužitelja brzim i dosljednim; održavanje front-end opterećenja minimalnim ono je što premošćuje ostatak razlike.
Povezano
Isprobajte besplatno 14 dana
Pokrenite svoja prva web-mjesta besplatno na 14 dana — bez kartice. Premještate postojeću mrežu? Migracije su besplatne i bez ograničenja.
Započnite besplatno