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
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
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
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
Na řádce 297 máš:
<span class="img"><img src="/" /></span>
To src="/" způsobuje druhé načtení stránky (které se zahodí jako chyba, ale stáhnout se musí).
Keeehi
Profil
$start = microtime(true);

// všechen ostatní kód

sleep(1);
echo microtime(true) - $start;
Když se tam přidá to sleep() zvětší se čas na něco jako 1.001446?
juriad
Profil
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é...

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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

0