Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter
#6510
üzenetére
"Amúgy milyen jó lenne, ha már a .htaccess fájlból is el lehetne indítani egy időmérést."
Igazából nem is tűnik olyan nagyon hülye gondolatnak (hogy saját magamnak reagáljak).
Találtam egy ilyen cikket: [Measuring Apache request processing time]
Ez alapján plusz az Apache vonatkozó hivatalos oldala alapján (mod_headers):
ha ezt a két Header direktívát beteszem a .htaccess fájlba:# %t: The time the request was received in Universal Coordinated Time since the epoch (Jan. 1, 1970) measured in microseconds. The value is preceded by t=.
# %D: The time from when the request was received to the time the headers are sent on the wire. This is a measure of the duration of the request. The value is preceded by D=.
Header set Ekkor_kapta_a_kerest_ms_1970_jan_1-hez_kepest: %t
Header set Keres_feldolgozasi_ideje_us: %D
akkor hozzáadja a HTTP-fejlécekhez ezeket is (szándékosan adtam most ilyen jó hosszú, de beszédes neveket).
Ebben az esetben a következő fejléceket látom a Firebug Net fülén:
Ekkor_kapta_a_kerest_ms_1... t=1301593430575379
Keres_feldolgozasi_ideje_... D=539031Tehát eszerint 539031 us = 0.539031 s ideig tartott az Apache-nak, hogy kiszolgálja a kérést.
A t=1301593430575379 azt jelenti, hogy ennyi mikroszekundum telt el 1970. jan. 1-je óta.Ezek a fejlécek feldolgozhatók PHP-ból is (most itt a tömbben a fent megadott, jó hosszú nevű index-szel érhető el a kívánt érték, mindenki nevezze át ízlése szerint):
<?php
$headers_array = get_headers('http://'.$_SERVER['SERVER_NAME'], 1);
// headerek kiíratása:
echo 'HEADERS:------------<hr />';
echo '<pre>';
print_r($headers_array);
echo '</pre>';
$request_rec_time = $headers_array['Ekkor_kapta_a_kerest_ms_1970_jan_1-hez_kepest'];
// levágjuk a "t=" részt
$request_rec_time = str_replace( 't=', '', $request_rec_time );
// mikroszekundumban kapjuk meg, azt átalakítjuk másodperccé (s) (1 s = 1 000 000 ms)
$request_rec_time /= 1000000;
// átalakítva olvasható dátummá:
echo date('Y.m.d H:i:s', $request_rec_time).'<br />';
?>Igazából az utóbbi, a kérés ideje nem túl pontos, mivel integer értéket kapunk, így megegyezik a $request_rec_time változóval formázott fenti date() kimenete a sima date('Y.m.d H:i:s') kimenetével, aminek a második paramétere az alapértelmezett time() kimenet.
Létezik azonban a $_SERVER['REQUEST_TIME'] változó is, amit szintén felhasználhatunk, ez szerintem kicsit pontosabb, mert talán nem csak a .htaccess fájlhoz érve kezdi számolni az időt...
Így azt is átalakíthatjuk olvasható formátumra:echo date("Y.m.d. H:i:s", $_SERVER['REQUEST_TIME']).'<br />';
De sajnos ez is csak másodperces eltéréseket fog mutatni, nálam legalábbis az "u" (mikroszekundumot jelző) formátum karakter hozzácsapása ( date("Y.m.d. H:i:s.u") ) csakis csupa nullát eredményezett.
Ha valaki tud még jobb, még pontosabb módszereket, ne tartsa magában.
Kösz!
Új hozzászólás Aktív témák
- Forza sorozat (Horizon/Motorsport)
- Hitelkártyák használata, hitelkártya visszatérítés
- Bestbuy játékok
- Hosszú premier előzetest kapott az Arknights: Endfield
- Revolut
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Azonnali VGA-s kérdések órája
- Diablo IV
- Windows 10
- Filmvilág
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD RTX 2060 Super 8GB DarkFlash DK352 Plus 500W
- Samsung Galaxy Xcover 5 64GB, Kártyafüggetlen, 1 Év Garanciával
- 274 - Lenovo Legion Pro 5 (16IAX10H) - Intel Core U9 275HX, RTX 5070Ti
- Dell Precision 7760 i7-11850H 64 GB RAM NVIDIA RTX A4000 FHD IPS Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

