PHP Curl / file_get_contents Chrome中的响应时间不一致

时间:2014-06-22 12:48:39

标签: php apache google-chrome curl fiddler

我在Windows 7上(使用VirtualBox VM)进行一些开发。我有PHP / 5.5.13,Apache 2.4.9,Chrome 35.0.1916.153。当我运行以下代码时,我看到一些非常不一致的行为:

index2.php

<?php
echo "Load time before 'file_get_contents': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
echo file_get_contents('http://custom.local/index3.php');
echo "Load time after 'file_get_contents': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
exit;
?>

index3.php

<?php
echo "Load time inside 'index3.php': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
exit;
?>

以下是Chrome中的结果(我在curl_exec之后的8到28秒之间获得了一致的响应时间)。响应时间也有很大波动:

Load time before 'file_get_contents': 0.002000093460083
Load time inside 'index3.php': 0.0026569366455078
Load time after 'file_get_contents': 15.411452054977

1 个答案:

答案 0 :(得分:1)

似乎毕竟这是一个Apache问题。

Chrome的高级选项“预测网络操作以提高页面加载性能”将使用比默认Apache配置(Windows 2.4.9 Windows版本)更多的线程。

修复在httpd.conf中很简单:

AcceptFilter http none

此处有更多详情:

http://www.apachelounge.com/viewtopic.php?p=28142#28142