首页 >php教程 >php手册 >php中计算页面加载时间几种方法总结

php中计算页面加载时间几种方法总结

WBOY
WBOY原创
2016-05-25 16:47:131891浏览

大家可通常用的microtime()获取页面开始和结束时的时间并相减的话,计算结果是页面运行 所经历的一段时间,但这并不一定是该页面自身运行的时间

实例代码如下:

<?php
//实例:计算页面运行时加载时间
//分析:页面打开时获取一个时间,加载完成时获取一个时间,运行时间即二者之差
//1.自定义函数
function fn() {
    list($a, $b) = explode(&#39; &#39;, microtime()); //获取并分割当前时间戳和微妙数,赋值给变量
    return $a + $b;
}
//2.获取开始时间
$start_time = fn();
//5.加载过程
for ($i = 0; $i < 10000000; $i++) {
    // do nothing;
    
}
//3.获取结束时间
$end_time = fn();
//4.计算差值
echo $end_time - $start_time;
//5.格式化输出
echo &#39;<br />&#39;;
$t = $end_time - $start_time;
echo round($t, 2);
?>

使用microtime()获取页面开始和结束时的时间并相减的话,计算结果是页面运行 

所经历的一段时间,但这并不一定是该页面自身运行的时间.因为可能存在多个PHP脚 

本页面共同执行的情况,所以我觉得那个方法是不准确的

下面从网上找到一个关于php中计算页面程序运行时间的实例有需要的朋友可参考一下.

最近写了一个程序运行的时间计算类,供大家参考:

实例代码如下:

<?php
class Timer {
    private $StartTime = 0; //程序运行开始时间
    private $StopTime = 0; //程序运行结束时间
    private $TimeSpent = 0; //程序运行花费时间
    function start() { //程序运行开始
        $this->StartTime = microtime();
    }
    function stop() { //程序运行结束
        $this->StopTime = microtime();
    }
    function spent() { //程序运行花费的时间
        if ($this->TimeSpent) {
            return $this->TimeSpent;
        } else {
            list($StartMicro, $StartSecond) = explode(" ", $this->StartTime);
            list($StopMicro, $StopSecond) = explode(" ", $this->StopTime);
            $start = doubleval($StartMicro) + $StartSecond;
            $stop = doubleval($StopMicro) + $StopSecond;
            $this->TimeSpent = $stop - $start;
            return substr($this->TimeSpent, 0, 8) . "秒"; //返回获取到的程序运行时间差
            
        }
    }
}
$timer = new Timer();
$timer->start();
//...程序运行的代码
$timer->stop();
echo "程序运行时间为:" . $timer->spent();
?>

再看简化程序 计算页面加载时间

实例代码如下:

<?php
class runtime {
    var $StartTime = 0;
    var $StopTime = 0;
    function get_microtime() {
        list($usec, $sec) = explode(&#39; &#39;, microtime());
        return ((float)$usec(float)$sec);
    }
    function start() {
        $this->StartTime = $this->get_microtime();
    }
    function stop() {
        $this->StopTime = $this->get_microtime();
    }
    function spent() {
        return round(($this->StopTime - $this->StartTime) * 1000, 1);
    }
}
//实例开始
$runtime = new runtime;
$runtime->start();
//你的代码开始
$a = 0;
for ($i = 0; $i < 1000000; $i) {
    $a = $i;
}
//你的代码结束
$runtime->stop();
echo "页面执行时间: " . $runtime->spent() . " 毫秒";
?>

永久地址:

转载随意~请带上教程地址吧^^

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn