logo NodeSeekbeta

DMIT VPS 单线程调优TCP测速突破200Mb 实战经验(实测其他Vps同样有效果)

很多朋友购买了千兆 VPS,但往往发现单线程速度跑不上去。以 DMIT VPS 为例:

本地千兆宽带测速可超过 1Gbps

优化前 iperf3 单线程测速约 160 Mbps,远低于理论上限

即便调整了vps的各种配置,速度依然无法突破

通过实际操作,我总结了单线程速度低的几个主要原因

VPS TCP 栈限制
默认 Linux 内核的 TCP 窗口较小,跨洋 RTT 较高时,单条 TCP 连接无法充分利用带宽。

客户端 TCP 栈限制
macOS 默认的 autorcvbuf 和 autosndbuf 较小,TCP 窗口未开启动态增长,导致高带宽长延迟链路下吞吐受限。

VPS 内核拥塞控制
默认拥塞控制算法通常是 CUBIC,对长延迟链路性能不佳。采用 BBR 或 BBR3 可以显著提升跨洋单线程速度。

总结来说,优化前 DMIT VPS 单线程速度主要受 TCP 窗口、拥塞控制算法和系统默认配置 的限制。其中两个设置网上有很多资料,例如 BBR 内核和 TCP 调优,但大家常常忽略了最关键的一点——本地客户端 TCP 窗口限制。

** 我使用的是 macOS 系统,默认 TCP 窗口限制约 4MB。将其修改为 16MB 后,跨洋 DMIT VPS 的单线程 iperf3 速度可以从 160 Mbps 提升到 350–410 Mbps,已经接近实际可用带宽的极限。
至于那些声称跑 800 Mbps+ 的单线程,我估计并非跨洋测试结果。Windows 用户是否也可以通过类似方法修改 TCP 窗口,我暂不清楚,欢迎大家探讨。**

# macos 系统查询 tcp 窗口当前数字的命令
sysctl net.inet.tcp.autorcvbufmax
sysctl net.inet.tcp.autosndbufmax

# macos 系统**临时**修改 tcp 窗口的命令
sudo sysctl -w net.inet.tcp.autorcvbufmax=16777216
sudo sysctl -w net.inet.tcp.autosndbufmax=16777216

调整后,如果有效果,在修改为永久有效就可以了。否则重启就恢复回去了。

12345
  • Windows通过注册表限制最大缓冲区
    如果你希望像 macOS 那样从底层限制缓冲区占用的内存最大值,可以通过修改注册表实现(需重启生效)。

    按下 Win + R,输入 regedit。

    定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    在右侧新建 DWORD (32位) 值:

    名称:TcpWindowSize

    数值:例如 16777216 (十进制,代表 16MB)

  • 顶一下,好贴

  • 好贴 顶了

  • 好贴

  • 单线程过g其实挺简单的 地区不qos
    拉tcp就好了

  • 不错

  • @Inklazy #4 发布于2025/12/17 17:56:58
    单线程过g其实挺简单的 地区不qos
    拉tcp就好了

    过G 的过程中有很多门槛,前期一直以为是 区域qos的原因让我的速度上不去,今天调整了本地客户端配置后,竟然突破了,至于过G,放在下学期继续在这里学习

  • 先收藏

  • @hogue #6 前段时间不qos的时候,我家(浙江)本地ubuntu调tcp,远端调tcp,iperf3对拉1.4g+,甚至撞墙导致有重传,现在开始q了又变成200m多的水平了
    ocMKIAuHxhO7ajpSnTovCo0Yv0Z9CGZZ.png
    vrUkDkjUHxn4MswwiszR2RXZ9irMEPbt.png
    q和不q的区别

  • 收藏

12345

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71826位seeker

🎉欢迎新用户🎉