SQL Last in % anzeigen lassen ?

Sziebeck

Mitglied
Ich sehe immer öfter ,das auf einigen Seiten die PHP und SEL Last in % angezeigt wird.

Kann mir jemand sagen wie das funktioniert ? ich habe meinen Kumpel Google gefragt ,aber der weiss nicht viel :-(

Gruss
Sven
 
Eventuell war eine Funktion, wie [phpf]sys_getloadavg[/phpf] gemeint, oder alternativ
PHP:
$fgc = file_get_contents('/proc/loadavg');
$load = explode(' ', $fgc);
(Jeweils nur unter Linuxsystemen.
Was die MySQL-Last betrifft, ist mir keine interne Funktion bekannt, aber eventuell lässt sich an dieser Stelle was mit [phpf]system[/phpf] und dem Linux-Befehl top anfangen - Die dadurch erhaltenen Resultate kann man anschließend in PHP auswerten und somit zB alle Prozesse, die irgendwas mit MySQL zu tun haben, summieren. Leider eine etwas ungenaue Methode, aber ein Ansatz.
Da weiß sicherlich jemand mehr Bescheid als ich ;)
 
Frage am Anfang des Skriptes die aktuelle Zeit in Mikrosekunden ab (microtime()-Funktion) und tue dies am Ende des Skriptes. Die Differenz von Endzeit und Startzeit ist die Laufzeitdauer. Bei den Datenbankabfragen geht es ähnlich. Ein Beispiel:
PHP:
<?php

	$duration = array('php'=>0.0, 'sql'=>0.0);

	$start = microtime(true);
	// PHP-Code
	$duration['php'] += microtime(true) - $start;

	$start = microtime(true);
	// SQL-Abfragen
	$duration['sql'] += microtime(true) - $start;

	$start = microtime(true);
	// PHP-Code
	$duration['php'] += microtime(true) - $start;

	echo 'Gesamte Dauer: '.array_sum($duration).'s, davon '.$duration['php'].'s PHP und '.$duration['sql']

?>
 
das sieht ja sxchon gut aus :-)

er zeigt mir jetzt an:
Gesamte Dauer: 9.05990600586E-6s, davon 5.96046447754E-6s PHP und 3.09944152832E-6

kann man das auch kürzen ?auf 2 stellen nach dem . ?
 
Mit [phpf]number_format[/phpf] kann man das ganze formatieren.
Alternativ geht auch [phpf]sprintf[/phpf].
 
Zurück