我正在寻找检查用户连接速度的可能性。应该保存为cookie,如果速度慢会适配javascript文件和css文件。
我目前测试速度的可能性如下
$kb = 512;
flush();
//
echo "<!-";
$time = explode(" ",microtime());
for($x=0;$x<$kb;$x++){
echo str_pad('', 512, '.');
flush();
}
$time_end = explode(" ",microtime());
echo "->";
$start = $time[0] + $time[1];
$finish = $time_end[0] + $time_end[1];
$deltat = $finish - $start;
return round($kb / $deltat, 3);
虽然它有效,但我不喜欢它在我的代码中放入这么多字符,如果我回显所有这些,我也无法将结果保存在 cookie 中,因为已经有输出。
可以在不同的文件中做类似的事情吗?你有什么解决办法吗?
提前致谢。
最佳答案
Do you have any solution?
我的解决方案是根本不理会速度测试。原因如下:
你说测试的原因是为了确定发送哪些JS/CSS文件。您必须记住,浏览器会在第一次下载后缓存这些文件(只要它们没有被修改)。所以实际上,您正在发送 256K 的测试数据以确定您是否应该发送额外的 512K 数据?
只需发送数据,它就会被缓存。除非你有 MB 的 JS/CSS(在这种情况下你需要重新设计网站,而不是速度测试)下载时间是可行的。速度测试应保留给流式视频等。
关于当前页面无回显的用户连接速度的 PHP 速度测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943016/