获取页面加载时间,X次

时间:2014-06-17 22:18:19

标签: javascript php performance curl

我正在研究多个Javascript图表库的速度。我制作了一些测试页,4个图表,每个图表都包含Highcharts,Flot,D3,AmCharts,FusionCharts等库。

现在我想要每个页面运行100次,以获得每个库的单独加载速度和平均值。我甚至不确定这是否可能。

我考虑过做以下事情:

  1. 使用CURL(PHP)

    加载带有图形的页面
    function getContents($url) {
    $ch = curl_init();
    $header = array(
        'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12',
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language: en-us,en;q=0.5',
        'Accept-Encoding: gzip,deflate',
        'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
        'Keep-Alive: 115',
        'Connection: keep-alive',
    );
    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    
        $result = curl_exec($ch);
        curl_close($ch);
    }
    
  2. 在页面本身上,使用Javascript捕获加载时间并将其写入PHP中的文件。

    var loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;
    
    $.ajax({
        type: "POST",
        url: "SaveTime.php",
        data: {action: "saveloadtime", time: loadTime}
    })
        .done(function(msg) {
    
    });
    
  3. 然而,这只会运行一次,除此之外,我的服务器上的文件中没有任何结果。

    • 通过PHP调用页面时,Javascript是否可能无法执行?
    • 如何通过页面循环100次:等到完全加载,保存时间,加载下一个测试等等?

    我知道我可以使用Google Chrome consoleFirebug或任何其他插件,但我不想手动获取速度,因为我有很多页面需要比较。

    感谢任何帮助

0 个答案:

没有答案