When developing PHP-driven websites its often
very useful to know how long your pages took to process. This not only
gives you some idea of the efficiency of your websites and of the
server running them.
Displaying Load Time with PHP
When developing PHP-driven websites its often very useful to know
how long your pages took to process. This not only gives you some idea
of the efficiency of your websites and of the server running them, but
may help you diagnose problems, benchmark code corrections/additions,
etc. The best way to do this is program PHP to read the system time at
the beginning of the page, scan it again near the end, and then work
out the difference between the values.
To get us started, just add the following basic code near the top of your page, before all the main content:
<?php
$starttime = microtime();
$startarray = explode(" ", $starttime);
$starttime = $startarray[1] + $startarray[0];
?>
It may look complex, but the above code is actually
dead simple. Microtime is a function that returns a value giving the
current time in seconds and milliseconds from the UNIX Epoch
(internationally set as 0:00:00 January 1, 1970 GMT). Explode then
splits this value into its two component parts (seconds and
milliseconds), and then inserts both values separately into an array.
With those values determined, of course, we can go on to insert the
following code near the end of the webpage, after all the main code:
<?php
$endtime = microtime();
$endarray = explode(" ", $endtime);
$endtime = $endarray[1] + $endarray[0];
$totaltime = $endtime - $starttime;
$totaltime = round($totaltime,5);
echo "This page loaded in $totaltime seconds.";
?>
I'm pretty sure you can guess what's going on here.
The microtime is determined again and inserted into the endtime array.
We then delete the starttime array from it and come up with a brand new
value, totaltime (which is the value we've wanted all along). The
number is then rounded to 5 significant figures, and output by the ECHO
command. If you've entered everything correctly, you should end up
with a line of text saying something like this:
Page generated in 0.27283 seconds
And that, as they say, is that! As you can
probably guess, the lower this value the better the performance. Don't
get too obsessed with these figures, though, because they also rely
heavily on server load levels, mySQL commands, etc. Just look at
everything with a scientifically objective eye, and all will be fine...
:)
|