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

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

WBOY
WBOYOriginal
2016-05-25 16:47:131892Durchsuche

大家可通常用的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() . " 毫秒";
?>

永久地址:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn