我家里有一台小型服务器(运行 Arch Linux),我正在测试我的网速。speedtest-cli
直接从服务器上的终端使用,我得到的下行速度约为 30 Mbit/s,上行速度约为 15 Mbit/s。
但是,当我从笔记本电脑通过 SSH 进入服务器并运行相同的速度测试时,我得到的速度分别为 1.04 Mbit/s 和 0.40 Mbit/s(DL 和 UL)。此外,ping 时间增加到 500 毫秒。
为什么 speedtest 通过 SSH 报告速度较低?类似的问题被问到但没有充分的答案。
答案1
我对 SSH 与此有任何关系的结论持怀疑态度。您需要运行大量测试才能最终证明这并非偶然。您是否尝试过speedtest-cli
多次运行,交错在本地并通过 SSH 运行?
还有一种更简单的可能性:speedtest-cli
在运行时自动选择服务器(Selecting best server based on latency...
)。我在这里做了四次测试,它为这些测试选择了两台不同的服务器。根据延迟测试的彻底程度(我猜不是很彻底,因为它需要在合理的时间内完成),您可能最终会在运行之间通过一条非常不同的线路与一个非常不同的服务器通话。您是否尝试过speedtest-cli
针对特定服务器运行?
另一种可能性是,你的服务器资源太少,SSH 连接会产生明显的差异(即摇摇欲坠只是在机器可以处理的极限内)。
商品硬件和家庭设置中,一个非常现实的可能性是配置不理想或硬件故障。当连接速度很慢时,您是否尝试过使用 Wireshark(和/或tcpdump
)来查看是否存在许多传出连接问题?