是否有一个PHP脚本/片段,允许您检查URL/IP的连接速度。举例来说,URL是www.example.com,当我运行php脚本时,它会显示连接(211毫秒)到URL/IP需要多长时间,我发现一些脚本只显示它是否在线或离线,但不显示它所花的速度。PHP服务器连接测试
我非常了解免费和付费服务。我想创建自己的自定义/专用监视器来监视我的许多服务器,并且无法找到连接到给定位置的简单脚本。
是否有一个PHP脚本/片段,允许您检查URL/IP的连接速度。举例来说,URL是www.example.com,当我运行php脚本时,它会显示连接(211毫秒)到URL/IP需要多长时间,我发现一些脚本只显示它是否在线或离线,但不显示它所花的速度。PHP服务器连接测试
我非常了解免费和付费服务。我想创建自己的自定义/专用监视器来监视我的许多服务器,并且无法找到连接到给定位置的简单脚本。
也许是这样的:
<?php
// Create a curl handle
$ch = curl_init('http://www.yahoo.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute
curl_exec($ch);
// Check if any error occured
if(!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
// Close handle
curl_close($ch);
?>
试试这个:
$ch = curl_init("http://www.google.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$start = microtime();
$foo = curl_exec($ch);
$end = microtime();
curl_close($ch);
echo "Seconds to load = ". $end - $start;
这不会考虑图片或JavaScript,只是intital响应时间和服务器代码的运行。
这就是我所需要的是响应而不是页面加载速度我测试了它并得到'-0.694715'就是正确的694ms? – chillers
-1因为这不能回答这个问题(一个基于HTTP的HTML从负载很重的服务器载入页面的时间与连接速度几乎没有任何关系),也因为你的代码不工作,主要是因为你没有将'true'传递给'microtime()'。 – DaveRandom
@DaveRandom:This答案是做什么的,实际上你的评论应该得到一个-1,因为你不明白OP在问什么,作为回答的人在做什么。我正在答复答案 – raidenace
连接速度和ping是不同的东西。 – zerkms
@zerkms是的,这就是为什么我问如果有人知道一个示例脚本来获得连接速度,或者如果有可能与PHP做。 :) – chillers
@DanielO不可能单独在PHP中执行此操作,因为您还需要一些客户端。它也不像“这是连接速度X”那么简单,有太多因素可以影响它。例如,您可以使用TCP流来确定它,但所有这些ACK的开销成本都较高。或者你可以使用UDP流,但是如果你丢包,你会怎么做?您是否认为这会对速度产生负面影响,或者您是否在意在时间帧X中传输的总数据负载?目前尚不清楚,实施起来也不是微不足道的。 – DaveRandom