Doba generování stránky
V tomto článku bych chtěl popsat skript, který dokáže zjistit a vypsat dobu generování stránky (výstup tohoto skriptu můžete vidět na spodní části této stránky). V podstatě se bude jednat o popis funkce MicroTime().
Aby bylo možné zjistit dobu, za kterou je stránka vygenerována, musíme na úplném začátku stránky volat funkci, která zjistí aktuální čas (samozřejmě v mikrosekundách). Stejnou funkci poté voláme na konci stránky, oba získané časy od sebe odečteme a tím získáme přibližnou dobu generování stránky.
Pro získání přesného času využijeme funkci MicroTime(). Její výstup vypadá takto:
0.18061500 1734903632
Druhá část výstupu je čas ve formátu Unix timestamp a první část je počet mikrosekund (jednotka jsou sekundy). Abychom tento údaj mohli použít pro náš výpočet, musíme obě části spojit. Pokud na serveru běží PHP 5, tak stačí využít nepovinný parametr get_as_float. V tom případě by zápis vypadal takto:
$microtime = MicroTime(1); //Získaná hodnota 1734903632.1806
Pokud máme na serveru starší verzi PHP, tak musíme použít trochu složitější řešení:
List ($usec, $sec) = Explode (' ', microtime());
$microtime = ((float)$sec + (float)$usec); //Získaná hodnota 1734903632.1806
Protože potřebujeme zjistit čas ve dvou místech skriptu, napíšeme si jednoduchou funkci getMicroTime(), která bude vracet čas v požadovaném formátu.
function getMicroTime()
{
List ($usec, $sec) = Explode (' ', microtime());
return ((float)$sec + (float)$usec);
}
Celý skriptík bude vypadat asi takto:
<?php
function getMicroTime()
{
List ($usec, $sec) = Explode (' ', microtime());
return ((float)$sec + (float)$usec);
}
$start = getMicroTime()
?>
HTML nebo PHP skript
<?php
$end = getMicroTime();
printf ("Stránka byla načtena za %d sekund", ($end-$start));
?>
Pokud máme PHP5, tak můžeme funkci getMicroTime vypustit a místo ní použijeme MicroTime(1).
Literatura
Funkce MicroTime()Funkce PrintF()
Licence
Všechny skripty na tomto webu jsou poskytovány, pokud není uvedeno jinak, bez jakýchkoliv licenčních požadavků a také bez záruk.
Tato stránka byla generována 0.00026607513427734 s (před reálným použitím je vhodné výsledek zaokrouhlit).