Ultimátní test webhostingů – Jak rychlý dokáže být jednoduchý WordPress

Sdílení informací je základ internetu 🙂 Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

Často čtu jak pomalý je WordPress. Napadlo mě proto udělat test, kde vezmu čistou instalaci WordPress, základní šablonu a jeden z nejrychlejších cachovacích pluginů WP Fastgest Cache a změřit TTFB.

Proč TTFB

TTFB (Time to first byte) neboli česky čas za který vrátí server první byte, je čas za který získáte od serveru první odpověď. V našem případě to znamená HTML kód stránky WordPress. Vše další na ní už je víceméně o onpage optimalizaci.

Tato doba se skládá z následujících částí:

  • Kontaktování DNS serveru a získání IP adresy serveru.
  • Navázání SSL spojení (pokud to webová stránka podporuje).
  • Navázání spojení.
  • Odeslání dat.
  • Doba čekání na odpověď serveru.
  • Stažení odpovědi serveru.

Kontaktování DNS serveru a získání IP adresy serveru ovlivňuje lokalita a jeho aktuální vytížení. Tato doba by neměla přesáhnout desítky ms v rámci Evropy. Pro návštěvníky mimo Evropu se proto používá často AnyCast DNS. V ČR v závislosti na routování se tato hodnota může dostat i pod 10 ms.

Navázání SSL spojení je v menší míře závislé na serveru protistrany. Ve větší rozhoduje vzdálenost. V Evropě by to mělo opět měly být maximálně destíky ms. V ČR byste se měli pohybovat do 20 ms.

Samotné navázání spojení, odeslání dat opět ovlivní lokalita a aktuální vytížení webserveru. Zde také vstupuje do hry routování, resp. přes kolik zařízení musí pakety projít. Na každém mohou ztratit max jednotky ms.

Doba čekání na odpověď serveru záleží na výkonu server a jeho aktuálním vytížení. Teoreticky také můžete čekat ve frontě na zpracování požadavku anebo volné vlákno PHP.

Stažení odpovědi ze serveru je opět o lokalitě a rychlosti vašeho připojení.

Metodika

Pro měření jsem použil službu Wedos OnLine. Umožňuje minutové měření, stahuje pouze hlavičku webu a měření, pokud je vše v pořádku, probíhá vždy z ČR. V případě nalezení problému se ověřuje dostupnost sondou ze zahraničí. Pokud web hlásí chybu, nahlásí se výpadek a nezapočte odezva.

Měření probíhalo od 1.10 do 31.10 (část dne). Celkem u každého webu bylo provedeno více jak 44,1K úspěšných testů. Toto považuji za dostatečný vzorek.

Pro všechny výpočty jsem použil denní průměry.

Měřil jsem:

  • AVG – Průměrnou dostupnost za 31 dní.
  • Med – Median dostupnosti za 31 dní.
  • Min – nejlepší den.
  • Max – nejhorší den.
  • P-M – Absolutní hodnota (nezáporná) Průměr mínus Medián. Čím je toto číslo menší tím je odezva stabilnější.

Tabulka s výsledky je rozdělena na ty, kteří do 50 CZK/měsíc poskytují HTTPS a ty co ne. Důvodem je, že „náklady“ na zabezpečené spojení jsou vyšší.

WordPress

Základní instalace WordPress + základní šablona a 3 pluginy (cachovací, analytický a můj pro měření rychlosti databáze) sice není na první pohled nic velkého, ovšem s použitím pluginu WP Fastest Cache je to víceméně jedno. Tento plugin totiž cachuje obsah následovně:

  • Vygeneruje statickou verzi stránky (HTML)
  • Přesměrovává požadavky na tuto statickou stránku přes .htaccess (požadavek tak odbavuje webserver nikoliv PHP)

Není nic rychlejšího a je jedno jestli máte na webu 20 pluginů, tisíce článku a super velkou šablonu anebo instalaci podobnou té mojí. Vždy bude vytvořená statická stránka a ta servírovaná uživateli zhruba stejně rychle. Nějaký ms mohou teoreticky udělat složitější pravidla v .htaccess ale to je vše. TTFB budeme mít podobný. Samozřejmě po stažení HTML stránky se začnou načítat další věci, ale to už je o onpage optimalizaci.

Mimochodem přesně takto by měl ideálně fungovat váš WordPress. Měli byste mít statický obsah, který servírujete návštěvníkům a všeho ostatní řešit přes ajax. Na tomto konceptu fungují všechny velké instalace. Jen ukládají statické stránky na předřazený server, který mohou replikovat když vzroste zátěž.

Samozřejmě ne vždy to jde takto snadno. Někdy musíte pracovat s aktuálními daty, ale čím více cachujete tím lépe.

Ještě jedná poznámka. WP Fastest Cache jsem nechal v základním nastavení bez úprav. To znamená že v .htaccess vypíná všechny formy cachování, které poskytuje webserver anebo hosting. Teoreticky jsou tak v nevýhodě ti, kteří mají třeba předřazené proxy servery, CDN apod.

Výsledky měření

Předně je třeba si uvědomit, že běžný člověk u počítače je schopný zaznamenat změnu po nějakých 230 ms. Takže všechno pod tuto hodnotu prostě bude uživateli splývat. Klikne a blik obsah je tu 🙂

Vzhledem k tomu, že tuto hodnotu ani vzdáleně nepřekročil žádný z hostingů, tak je ani neřadím podle nějaké z metrik. Jsou seřazeny podle abecedy.

Weby s HTTP

Weby s HTTP to měly jednoduché. Průměr je v nižších desítkách ms. V ČR si opravdu nemáme na co stěžovat 🙂

Hosting web AVG Med Min Max P-M
Forpsi connectionfailed.eu 29 29,65 27 33 0,65
Nethost serviceunavailable.eu 15 15,81 12 23 0,81
OneBit generalfailure.eu 21 21,13 21 22 0,13
Savana gatewaytimeout.eu 11 10,71 10 11 0,29
Station requesttimeout.eu 16 22,71 14 114 6,71
Web4U expectationfailed.eu 20 20,16 16 25 0,16

Vyzdvihl bych snad jen Savanu, která dokázala dát TTFB od 10 – 11 ms. Ani jeden z denních průměrů nešel mimo tato dvě čísla.

Station ještě stále ladí služby, a tak tam 2 dny byly trochu slabší (denní průměr 104 a 114). To shodilo P-M. Bylo tam také několik menších výpadků.

Weby s HTTPS

Navázat šifrované spojení stojí nějaký čas navíc. Na druhou stranu vynahradí to podpora HTTP/2. Zatímco u spojení se hraje o nižší desítky ms, tak když se do toho opře HTTP/2 tak to mohou být i vteřiny, protože stahujete naráz více obsahu.

Opět všechny hostingy předvedli super výkon. Prostě blik a WordPress je tu 🙂

Hosting web AVG Med Min Max P-M
Active24 connectiontimedout.eu 31 31,29 29 35 0,29
eBola webserverisdown.eu 29 42,97 23 89 13,97
Gigaserver internalservererror.eu 48 48,06 44 52 0,06
TELE3 unknownerror.eu 28 36,68 26 69 8,68
Wedos badrequest.eu 45 45,65 40 57 0,65

eBola vyšla v P-M testu hůře protože v období od 1.10 do 8.10 a od 20.10 do 23.10 byla horší odezva, ale podle Max vidíte že to nebylo nic strašného.

Gigaserver měl nejstabilnější připojení ze všech testovaných.

Tele3 měl slabší období od 1.10 do 7.10, tam byly hodnoty odezvy až 2x. Proto má slabší P-M.

Závěr

WordPress na hostingu dokáže být rychlejší než doslova mrknutí oka, což je 100 – 400 ms podle stavu člověka. Potvrdil to tento test na 11 nejoblíbenějších hostingových společnostech s cenou sdíleného webhostingu do 50 CZK/měsíc. Jde jen o to jak si to zoptimalizujete 😉


Jak bude reklama vypadat?
-
Nechceš zde reklamu napořád jen za 60 Kč?
Zobrazit formulář pro nákup
Sdílení informací je základ internetu 🙂 Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

3 komentáře: „Ultimátní test webhostingů – Jak rychlý dokáže být jednoduchý WordPress

  • 03.11.2020 (10:28)
    Trvalý odkaz

    Vybral jsi si extrémní příklad abys ukázal že 99% současných uživatelů wordpress je technicky neschopných pochopit základy. Ale nedivím se. Když vidím jak se považuje za wordpress experta každý kdo zvládne jej neinstalovat přes instalátor a pak trousí moudra v diskuzích jak za to může určitě hosting.

    Reagovat
  • 03.11.2020 (11:23)
    Trvalý odkaz

    Díky za další zajímavý test. WP Fastest cache jsem zkusil používat, ale na razil jsem na problém, že mi přestaly fungovat některé další pluginy. Třeba se špatně započítávala návštěvnost. Jeden den nedošlo třeba k zálohování. Jinak cachování bylo opravdu rychlé. Nakonec jsem na radu zákaznické podpory přešel na Comet Cache.

    Reagovat
    • 03.11.2020 (12:10)
      Trvalý odkaz

      Zdravím, WP Fastest Cache vytvoří statickou HTML stránku, která sama o sobě nespouští WP Cron, který pak spouští další úkoly pluginů. Pokud se nespustí přes admin-ajax.php tak WordPress neví že se na stránce něco stalo. Pokud používáš plugin jako WP Fastest Cache je nutné volat WP Cron přes CRON na serveru. Případně se to dá obejít voláním nějaké necachvoané stránky. Co se týká těch přístupů, tak tam záleží jak to plugin řeší. Pokud na úrovni serveru (WordPres) tak ze statické stránky nic nevyčte. Ideální je zde opět aby to počítal přes JavaScript. Případně využít access log.

      Reagovat

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *