You are not logged in.

  • Login

1

Monday, April 6th 2009, 4:15pm

Webserver/PHP langsam: Script Execution Time anzeigen lassen

Mein paar Tage alter V-Server scheint irgendwie langsam zu sein.
Im Moment liegt noch keine Seite drauf und Zugriffe erfolgen logischerweise auch nur durch mich.
Nun ist eine Testdatei mit folgendem Inhalt oben:

PHP Quellcode

1
2
3
4
5
<?php
$timer = array(0 => microtime(true));
$timer[1] = microtime(true);
echo 'Zeit: ' . substr(($timer[1]-$timer[0]), 0, 6);
?>

Folgende Ausgabe erfolgt meistens:

Quoted

Zeit: 2.5987


Sind diese 2,5 Sekunden nicht etwas sehr langsam?
Sollte der Wert nicht im Millisekungenbereich liegen?
eAccelerator ist bereits eingerichtet...

2

Monday, April 6th 2009, 4:38pm

PHP Quellcode

1
echo 'Zeit: ' . substr(($timer[1]-$timer[0]), 0, 6);

das funktioniert so nicht...
wenn du einfach mal

PHP Quellcode

1
echo 'Zeit: '.($timer[1]-$timer[0]);

testest wirst du sehen, dass etwas in dieser Richtung rauskommt:

PHP Quellcode

1
Zeit: 6.91413879395E-6

wie man sieht, sind das keine 6,9 Sekunden, sondern 6,9 * 10^-6 sekunden, also Mikrosekunden.

3

Monday, April 6th 2009, 5:21pm

Wie kann ich das ganze jetzt auch noch in Sekunden anzeigen lassen?
Beispiel: 0.043456 Sekunden

4

Monday, April 6th 2009, 5:29pm

Wie kann ich das ganze jetzt auch noch in Sekunden anzeigen lassen?


Quoted

1 Mikrosekunde = 1000 Nanosekunden = 10^-6 Sekunden


Um es anzeigen zu lassen verschiebe einfach das Komme um die Potenz nach rechts.
Quasi 0,000001 Sekunden.

5

Monday, April 6th 2009, 5:38pm

oder einfach mit

PHP Quellcode

1
printf("Zeit: %.10f", ($timer[1]-$timer[0]));

wobei die "10" die Anzahl der Nachkommastellen sind
siehe auch: http://de.php.net/manual/en/function.sprintf.php

6

Monday, April 6th 2009, 6:24pm

Danke jetzt klappt es.

Social bookmarks