Displaying Load Time with PHP
By Darren W. Hedlund2005-06-21
Displaying Page Load Times 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... :)
Tutorial Pages:
» Displaying Page Load Times with PHP
