我正在尝试创建一个速度测试服务器,它可以在 LAN 上使用,速度范围从 10 Mbps (Wi-Fi) 到 10 Gbps(我们数据中心的服务器),并且可以从 Mac、Windows、iOS 和 Android 访问.
我想通过在 x 秒内下载尽可能多的随机数据并据此计算速度来测试速度。
如何使用 PHP 和 JavaScript 做到这一点?(如果有另一种语言更简单的方法,我可以使用任何服务器端代码,我只是更喜欢 PHP,因为它的可移植性。)
我添加了关于我尝试过的先前解决方案的评论,我将在此处包括在内以使其更清楚。
我之前尝试过 4 种其他方法来做到这一点:
1) speedtest.net 的迷你测速服务器。
Problem - Requires Flash. Doesn't work with mobile devices.
2) WiseLoop JavaScript 带宽测试器
Problem - Not very accurate. More complicated than I need.
3)在PHP中生成x个文件,每个y MBs随机数据,依次下载文件,然后计算平均值。
Problem - If I choose too small of a file then fast connections aren't as accurate. If I choose large files then slow connections take too long.
4) 生成1个大文件,下载,计算速度。
Problem - Takes too long on slow connections. Or has to be too small to effectively test fast connections.