普通计算机用户如何能够(“你的妈妈“)测量平均下载速度任何(随机)特定的公共服务器您自己的选择(例如“https://superuser.com”:)),最好使用已安装的工具(例如浏览器或其插件)或在线工具?
我在互联网上找不到任何东西,所有的搜索,例如“如何测量特定服务器的下载速度”,总是只带来我的 ISP 的速度测试,或者只能从工具自己的列表中选择的特定服务器的速度测试,或者专门的编程工具。
我需要测量的是“有效速度”,因此,只需有一个浏览器插件就可以了,它可以将从服务器读取的所有资源的总时间相加,然后除以它们的总大小。我知道这不完全是服务器带宽,但它可以有效地告诉用户瓶颈是他们自己的连接还是互联网资源。
答案1
您只能通过正在运行的程序来测量服务器的实际带宽在该服务器上。
您与服务器的互联网连接会经过多个中介,每个中介可能都有自己的限制。更不用说服务器上运行的软件,它可能会限制连接数,连接经过的每个服务器和路由器也是如此。
你只能测量有效带宽通过观察您下载文件的速度,可以了解您与服务器的连接情况。由于服务器和您的连接经过的所有中间服务器的条件发生变化,该速度也会不断波动。
我观察到,通常情况下,下载速度会上升到某个恒定水平,这也许是最大有效带宽。随着时间的推移,随着条件的恶化,下载速度甚至可能会开始下降,然后有时会恢复到以前的水平(或不会)。
答案2
常规“速度测试”工具提供的服务器有一个共同点:它们都发布 HTTP URL,持续提供大的传输到客户端的数据量——足够大,以便至少在几秒钟内完成测量(给 TCP 流量控制留出时间以稳定下来,等等)。
同样的情况不适用于“任何随机公共服务器”(例如https://superuser.com),因为与服务器的上传速度相比,大多数托管普通 HTML 网页的 URL 都非常小 – superuser.com 的服务“仅”为 200 kB,因此您最终测量到的 Web 应用程序的处理时间和网络延迟会比测量实际吞吐量要多。
(尽管从技术上讲,“网速测试”服务可以很容易地设置服务器,提供一种将外部 URL 下载到测试服务器的模式,但我怀疑这会让它暴露给一些合法的風險。
因此,如果您想要可靠的结果,您只能测量您控制的服务器(这样您就可以让服务器通过 HTTP 在测试服务可以下载的已知 URL 上发布 1GB 文件)。这已经超出了“普通计算机用户”或“浏览器插件”的能力。
因此,我建议衡量自己的服务器最简单的方法是 1)租用其他虚拟服务器接近第一个,2) SSH 到临时服务器和wget -O /dev/null
您准备的大型 URL(或者iperf3
现在可以在两个服务器上运行),3)丢弃临时服务器。