Autor Zpráva
aveldopr
Profil *
Dobrý den,

nepoužívám na stránce vlastní JS, web mám na free hostingu.

Je možné na základě přiloženého obrázku říct, že špatná prodleva prvního vstupu je pravděpodobně způsobena serverem/free hostingem? Názor by vycházel z web.dev/optimize-fid - vlastní JS použit není, celková doba blokování i doba do interaktivity stránky je dobrá.



Obrázek je i na adrese ibb.co/cw92MVr
Keeehi
Profil
Nevím co přesně je prodleva prvního vstupu, ale předpokládám, že to je ne úplně šťastně přeložené Time to first byte. Hodnota 250ms není žádná sláva. Google tvrdí, že TTFB by mělo být do 200ms. Obecně cokoli do 100ms se považuje za dobrý čas.
Ze samotného TTFB se ale těžko pozná kde je problém, resp. z měření jedné stránky. Čas TTFB je součet časů které přidávají jednotlivé části (přenos po síti, režije web-serveru, rychlost aplikace, rychlost databáze a jiné) a z jednoho čísla nepoznáš, která část zpusobuje problémy a přidává nejvíce času. Co se dá udělat je, že si změříš rychlost částí s kterými toho moc nenaděláš (síť a režije webserveru) a odecteš si to od zbytku (části z kterých se skládá aplikace).

Jak to udělat. Nejlepší bude, když vezmeš vygenerovaný html kód stránky kterou jsi měřil a vložíš to do obyčejného statického html souboru. Tento soubor zahraješ na server a změříš TTFB k tomuto souboru. Jelikož ta tvoje aplikace nemusí v takovém případě nic dělat, dozvíš se, jakou dobu zabere přenos po síti a režije serveru. Pokud to bude například 180ms (na aplikaci zbývá 70ms), tak víš že je problém při přenosu dat a ne v aplikaci. V takovém případě změna hostingu poskytovatele může pomoct. Pokud to ale bude 30ms (na aplikaci zbývá 220ms) tak změnou poskytovatele si můžeš ale i nemusíš pomoct.

Proč si můžeš i nemusíš pomoct? Protože to že je aplikace pomalá může mít více duvodů. Ano, jedním z nich může být, že poskytovatel má poddimenzovaný hardware na to, kolik webů u něj běží, ty vzájemně soupeří o prostředky a proto je to vše pomalé. V takovém případě by změna mohla pomoct. Ovšem další možností je, že neoptimální je samotná aplikace. Je neefektivně nakódovaná, má neefektivní dotazy do databáze, nebo spousty a spousty jiných problémů. V takovém případě si změnou hostingu nepomůžeš. Pomalost je zakořeněna v aplikaci samotné a problém je potřeba najít a odstranit tam.
aveldopr
Profil *
Keeehi:
TTFB a FID jsou podle všeho dvě rozdílné metriky.

Obrázek v prvním příspěvku představuje statický html soubor.

Protože pagespeed insights už TTFB nezobrazuje (nebo jsem se přehlédl), použil jsem www.webpagetest.org na změření First Byte Time, s výsledkem

First Byte Time (back-end processing): 95/100 Learn More
366 ms First Byte Time
316 ms Target First Byte Time

V porovnání s developers.google.com/speed/pagespeed/insights/?hl=cs&url=jakpsatweb.cz&tab=mobile, jakož i

First Byte Time (back-end processing): 97/100 Learn More
302 ms First Byte Time
281 ms Target First Byte Time

pro jakpsatweb.cz mám o důvod víc věřit tomu, že špatné FID u mé stránky je způsobeno serverem/free hostingem (případně jiným faktorem, který není na mé straně).
Keeehi
Profil
Moc by mě zajímalo, jak web.dev měří FID, když sami na stránce web.dev/fid píšou, že se to musí měřit na reálných uživatelích a ne v laboratoři.

Nicméně ať to měří jak to měří, FID by mělo vyjadřovat dobu když uživatel na něco klikne a než se něco stane. Podle toho článku to měří od té události do doby, než se uvolní hlavní vlákno. Například když je browser zaneprázdněný parsováním CSS. Nicméně to se celé děje v browseru u uživatele. Nenapadá mě možnost, jak by rychlost webserveru nebo rychlost sítě na to mohla mít vliv. Na TTFB(FBT) ano ale na FID ne.
aveldopr
Profil *
Vyloučím-li tedy rychlost webserveru a rychlost sítě, zbyde špatná FID a dobrá celková doba blokování (TBT) s dobou do interaktivity (TTI) - jak to chápat?

Jinak mi přijde zajímavé, že pro jakpsatweb.cz se výrazně liší FID pro mobil a desktop v pagespeed insights.

Vaše odpověď

Mohlo by se hodit

Zajímavé čtení:
Poptávání výměny odkazů je na této diskusi nežádoucí.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0