在打开php和输出缓冲的情况下测试网络速度

在打开php和输出缓冲的情况下测试网络速度,php,Php,我使用的是一个php脚本,它使用输出缓冲将文件输出到客户端 由于脚本的工作方式,我不得不使用输出缓冲。如果没有OB,很容易测试开始时间和结束时间,中间有一个回音,并显示时间差,但是使用OB时,时间接近零,因为回音输出放在本地缓冲区中,缓冲区在第二分钟内发送到网络,而php脚本不知道该过程 在OB打开的情况下,有没有办法在同一个脚本中测试网络速度 header('X-Accel-Buffering: yes'); $start_time = microtime(true); echo $dat

我使用的是一个php脚本,它使用输出缓冲将文件输出到客户端

由于脚本的工作方式,我不得不使用输出缓冲。如果没有OB,很容易测试开始时间和结束时间,中间有一个回音,并显示时间差,但是使用OB时,时间接近零,因为回音输出放在本地缓冲区中,缓冲区在第二分钟内发送到网络,而php脚本不知道该过程

在OB打开的情况下,有没有办法在同一个脚本中测试网络速度

header('X-Accel-Buffering: yes');

$start_time = microtime(true);

echo $data;  // near zero time

ob_flush();
flush(); // test this speed ??

$end_time = microtime(true);

$speed = strlen($data) / ($end_time - $start_time);

你不能真的用那种方式“测量网络速度”。仅仅因为PHP已经“发送”了它的数据,并不意味着它已经完整地到达了客户端。没有OB,您可以测量从脚本到客户端传输数据所需的时间。我很抱歉坚持,但你可以。我提供了一个链接,谢谢。你不能用那种方式真正“测量网络速度”。仅仅因为PHP已经“发送”了它的数据,并不意味着它已经完整地到达了客户端。没有OB,您可以测量从脚本到客户端传输数据所需的时间。我很抱歉坚持,但你可以。我已经提供了一个链接,谢谢。