Ich wollte mich nur für diesen Artikel bedanken. Ich habe ihn verwendet, um den Unterschied zwischen einem einzelnen MySQL-Aufruf und dem lokalen Abruf einer Datei zu testen. Der Unterschied war erstaunlich! Lokale Dateispeicherung war 6-7 Mal schneller!!!!
Ich messe die Zeit all meiner Programme und protokolliere die Zeit in einer Datei, um mein Datenbanksystem zu optimieren. Ich habe eine Klasse entwickelt, die dabei hilft.
<?php
/**
* Time Code Class
* @author Russell Thompson
*/
class pgmTiming
{
private $mtime;
public function __construct() {
$this->mtime = microtime(true);
}
public function __destruct() {
$pgmName = $_SERVER["SCRIPT_NAME"];
print ("tm: " . $pgmName . " " . (microtime(true) -
this->mtime));
}
}
In meinen Programmen, nachdem ich sichergestellt habe, dass die Klasse geladen ist (ich verlasse mich auf __autoload), brauche ich nur eine Zeile.
$tm = new pgmTiming();
Als Teil der PHP-Bereinigung wird der Destruktor ausgeführt und gibt die Zeit aus. Ich habe die Instanziierung in einer require_once-Datei.
Im obigen Beispiel gibt es einfach das Ergebnis aus. Mein tatsächlicher Destruktor schreibt in eine Log-Datei, damit ich die Zeiten mitteln kann.
oder
um die Ausgabe anzuzeigen.
Ich würde etwas wie das vorschlagen...
Hier ist die abgespeckte Version von daGrevis' feiner Arbeit
Hallo,
Ich wollte mich nur für diesen Artikel bedanken. Ich habe ihn verwendet, um den Unterschied zwischen einem einzelnen MySQL-Aufruf und dem lokalen Abruf einer Datei zu testen. Der Unterschied war erstaunlich! Lokale Dateispeicherung war 6-7 Mal schneller!!!!
Matt
Seit PHP 5.1 ist der Zeitstempel des Starts der Anfrage in
$_SERVER['REQUEST_TIME']verfügbar.Sie können also machen
Vielleicht könnte
register_shutdown_function()hier nützlich sein :)Ich messe die Zeit all meiner Programme und protokolliere die Zeit in einer Datei, um mein Datenbanksystem zu optimieren. Ich habe eine Klasse entwickelt, die dabei hilft.
In meinen Programmen, nachdem ich sichergestellt habe, dass die Klasse geladen ist (ich verlasse mich auf
__autoload), brauche ich nur eine Zeile.Als Teil der PHP-Bereinigung wird der Destruktor ausgeführt und gibt die Zeit aus. Ich habe die Instanziierung in einer
require_once-Datei.Im obigen Beispiel gibt es einfach das Ergebnis aus. Mein tatsächlicher Destruktor schreibt in eine Log-Datei, damit ich die Zeiten mitteln kann.