![在我的 FreeBSD 服务器的长管道上测试 iPerf3 客户端下载时,结果显示速度非常慢](https://linux22.com/image/739756/%E5%9C%A8%E6%88%91%E7%9A%84%20FreeBSD%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E9%95%BF%E7%AE%A1%E9%81%93%E4%B8%8A%E6%B5%8B%E8%AF%95%20iPerf3%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%B8%8B%E8%BD%BD%E6%97%B6%EF%BC%8C%E7%BB%93%E6%9E%9C%E6%98%BE%E7%A4%BA%E9%80%9F%E5%BA%A6%E9%9D%9E%E5%B8%B8%E6%85%A2.png)
因此,我操作连接到 300 Mbps 对称光纤线路的 FreeBSD 服务器。它经常需要为不同大陆的用户提供服务,因此测试的 ping 值介于 100 到 300 毫秒之间,在极端情况下甚至达到 625 毫秒。
在最坏情况下的延迟(625 毫秒)我计算出我的窗口大小应该是 18.75 MB。所以我将我的设置kern.ipc.maxsockbuf
为 39321600,将我的net.inet.tcp.recvbuf_max
和我的都net.inet.tcp.sendbuf_max
设置为 19660800。但这并没有多大帮助,到达时仍然很慢。我也尝试启用它net.inet.tcp.path_mtu_discovery
,它似乎有点帮助,但是当服务器推入 300 Mbps 上行链路时,当下载速度接近 50 Mbps 时,我只能收到大约 12 Mbps。
我是否遗漏了什么?我还能做些什么来优化服务器以处理大型管道?移动服务器不是一个选择。