Autor | Zpráva | ||
---|---|---|---|
Hitman Profil |
Dobré poledne,
Zkoušel jsem si změřit web několika metrikami, např. zde a zde. A není mi docela dobře jasné jak se podle toho řídit. Na začátku je tam asi 1,3s "wait", WPT to má označené zase jako "Time to First Byte". Znamená to že tak dlouho se posílá HTML prohlížeči? Takže je to záležitost běhu scriptu a rychlosti serveru? Dole na webu měřím rychlost pomocí microtime() a ukazuje mi 0,0014s, zkoušel jsem různé metody a výsledek byl podobný...přijde mi ale jako docela nízký. Potom je tam tato položka znovu (41 řádek na WPT), tentokrát 1,6s a opět "wait" resp. "Time to First Byte". Takže jen tyto dvě hodnoty způsobí načítání webu téměř 3s. Čím můžou být způsobeny? Co se týče postupu tak na pingdom.com si zvolím sort by load time a snažím se eleliminovat ty největší hodnoty, je to tak? První dvě jsou právě ty uvedené výše... Díky |
||
Keeehi Profil |
#2 · Zasláno: 19. 3. 2016, 12:10:38
Hitman
Time to First Byte by měl být přibližně stejný jako doba běhu scriptu. Samozřejmě to není jen o době běhu PHP ale bylo by velmi divné, pokud by režie serveru přidávala 1.3 sekundy. Spíš bych to viděl že nějak špatně měříš dobu běhu. Nedělíš to tam náhodou tisícem abys to převedl na správné jednotky? |
||
Hitman Profil |
Na začátku scriptu mám:
$start = microtime(); A na konci echo microtime() - $start; Takže je to cca 1,4ps, což je asi nesmysl... |
||
Keeehi Profil |
#4 · Zasláno: 19. 3. 2016, 12:23:18
Hitman:
Přidej do funkce microtime ještě parametr true. Takhle vrací řetězec s mezerou. S parametrem true vrací číslo (float). Je to popsané i v dokumentaci. |
||
Hitman Profil |
#5 · Zasláno: 19. 3. 2016, 14:55:09
Přidal jsem true, ale stejně to je 0.001446 asi sekund. Což je docela málo, 1,4ms a zbytek cca 3s je problém serveru? To se mi nějak nezdá...
A hlavně proč to tam je 2x? Jednou 1,3s a podruhé 1,6s stejná položka. |
||
_es Profil |
Hitman:
Prečo sa čuduješ, že dlho trvá, než sa stránka začne zobrazovať, keď si tam „nacápal“ toľko JS a CSS súborov? Prehliadač nezačne stránku zobrazovať ihneď po obdržaní HTML kódu, ale v tvojom prípade až po stiahnutí (a aj spracovaní) mnohých ďalších súborov, viď napr. Na co stránka čeká a Rychlost stránek - to je asi to číslo, ktorému z toho testu nerozumieš. |
||
Hitman Profil |
_es:
Javascripty a css jsou mimo tyto dvě 1,5 sekundové položky ne? Jde mi o vysvětlení prvních dvou položek když si dáš "sort by load time" - to přece javascripty nezahrnuje, ne? |
||
juriad Profil |
#8 · Zasláno: 19. 3. 2016, 16:55:50
Na řádce 297 máš:
<span class="img"><img src="/" /></span> src="/" způsobuje druhé načtení stránky (které se zahodí jako chyba, ale stáhnout se musí).
|
||
Keeehi Profil |
#9 · Zasláno: 19. 3. 2016, 17:01:37
$start = microtime(true); // všechen ostatní kód sleep(1); echo microtime(true) - $start; |
||
juriad Profil |
#10 · Zasláno: 19. 3. 2016, 17:15:54
Předpokládejme, že PHP je skutečně rychlé, jak tvrdíš. Pak zbývají už jen možnosti týkající se samotného serveru.
Jak rychle se načte statická stránka (přípona html)? Jak rychle se načte PHP stránka s triviálním obsahem (jedno echo)? |
||
Hitman Profil |
juriad:
To jsem nevěděl že taková drobnost způsobí takovou nepříjmenost - díky, opraveno. tools.pingdom.com mi u statické (jednodcuhé) stránky ukazuje 59ms, u php stránky s jedním echem 60ms. Z toho mi vyplývá že stále měřím nepřesně. Jak je to možné? Neměří náhodou script: $start = microtime(true); Celý kód... echo microtime(true) - $start; Pouze dobu zpracování tohoto konkrétního scriptu bez natahování souborů (include) atp.? Keeehi: Ano, zobrazí se "1.01018595695". Sleep jsem odmazal, číslo je vidět dole pod patičkou. Sám se divím že je to tak rychlé... |
||
Časová prodleva: 9 let
|
0