logo NodeSeekbeta

单线程测速调优 200M➡️600M - 💻本地端

相信很多人测速都遇到过这种情况:

  • 美西机器:优化了VPS的BBR和FQ, 多线程⏬650M,单线程⏬200M
  • 无论让AI怎么优化VPS的BBR,单线程都没办法提高上去

✅其实问题不在VPS,而在于你的测速电脑本地端;你可以尝试优化本地端的缓存,就能让你的单线程提上去

macOS 千兆线路 TCP 单线程调优

调优效果

在高延迟千兆线路下,美西单线程速度由约 200 Mbps 提升到 600–700 Mbps

主要有效调整是将 kern.ipc.maxsockbuf 从 8 MiB 提高到16 MiB。

临时应用

打开终端执行:

sudo sysctl -w kern.ipc.maxsockbuf=16777216
sudo sysctl -w net.inet.tcp.sendspace=262144
sudo sysctl -w net.inet.tcp.recvspace=262144
sudo sysctl -w net.inet.tcp.autorcvbufmax=33554432
sudo sysctl -w net.inet.tcp.autosndbufmax=33554432
sudo sysctl -w net.inet.tcp.autosndbufinc=65536

查看当前参数

sysctl \
  kern.ipc.maxsockbuf \
  net.inet.tcp.sendspace \
  net.inet.tcp.recvspace \
  net.inet.tcp.autorcvbufmax \
  net.inet.tcp.autosndbufmax \
  net.inet.tcp.autosndbufinc

预期结果:

kern.ipc.maxsockbuf: 16777216
net.inet.tcp.sendspace: 262144
net.inet.tcp.recvspace: 262144
net.inet.tcp.autorcvbufmax: 33554432
net.inet.tcp.autosndbufmax: 33554432
net.inet.tcp.autosndbufinc: 65536

持久化配置

sysctl -w 重启后会失效。可以使用系统级 LaunchDaemon 开机自动应用:

sudo tee /Library/LaunchDaemons/com.local.tcp-tuning.plist >/dev/null <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.local.tcp-tuning</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/sbin/sysctl</string>
    <string>-w</string>
    <string>kern.ipc.maxsockbuf=16777216</string>
    <string>net.inet.tcp.sendspace=262144</string>
    <string>net.inet.tcp.recvspace=262144</string>
    <string>net.inet.tcp.autorcvbufmax=33554432</string>
    <string>net.inet.tcp.autosndbufmax=33554432</string>
    <string>net.inet.tcp.autosndbufinc=65536</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
EOF

sudo chown root:wheel /Library/LaunchDaemons/com.local.tcp-tuning.plist
sudo chmod 644 /Library/LaunchDaemons/com.local.tcp-tuning.plist
sudo launchctl bootout system/com.local.tcp-tuning 2>/dev/null || true
sudo launchctl bootstrap system /Library/LaunchDaemons/com.local.tcp-tuning.plist

注意事项

  • 部分 Mac 将 kern.ipc.maxsockbuf 设置到 20 MiB 以上会提示 Result too large,此时保持16 MiB。
  • 实际效果与 RTT、丢包、线路质量、服务器配置和 macOS 版本有关。
  • 建议使用相同节点和工具,在修改前后分别测试至少三次。
  • 参数越大不代表速度一定越快,也不会突破宽带或服务器限速。

Windows 10/11 千兆线路 TCP 设置

Windows 不能使用 macOS 的 kern.ipc.maxsockbuf 等参数。Windows 会自动调整 TCP 接收窗口,通常不需要手动指定缓冲区大小。

查看当前配置

以管理员身份打开 PowerShell,执行:

netsh interface tcp show global

也可以查看 TCP 配置模板:

Get-NetTCPSetting |
  Select-Object SettingName, AutoTuningLevelLocal, CongestionProvider

推荐设置

启用正常级别的接收窗口自动调节:

netsh interface tcp set global autotuninglevel=normal

启用 RSS,让多核 CPU 分担网络处理:

netsh interface tcp set global rss=enabled

执行完成后重新启动电脑。

这些设置通常会自动持久化,重启后仍然有效。

重启后检查

netsh interface tcp show global

重点确认:

Receive Window Auto-Tuning Level : normal
Receive-Side Scaling State       : enabled

不同语言版本的 Windows 显示文字可能不同。

注意事项

  • Windows 没有与 kern.ipc.maxsockbuf 完全对应的参数。
  • autotuninglevel=normal 主要是确保自动调节功能没有被关闭,并不保证一定提速。
  • 不建议随意使用来源不明的注册表 TCP 优化脚本。
  • 不建议关闭自动调节、时间戳或网卡卸载功能来追求跑分。
  • WSL 中执行 sysctl 只影响 WSL 内部的 Linux,不会调整 Windows 网络栈。
  • 实际速度仍受 RTT、丢包、代理软件、网卡、路由器和服务器线路影响。
  • 建议修改前后使用相同服务器和工具分别测试至少三次。
  • 试试

  • 有手机端的么- -感觉手机端永远都跑不到pc端那种速度

  • @NixzOky #2
    手机端修改系统比较麻烦,如果有工具,应该也可以调优的

  • @Ethan728 #3 手机端ios不好弄,但是安卓root应该和linux差不多吧,我始终想不明白的一点就在于,单线程手机永远都比电脑少100-200mbps,性能应该是够的啊,难道是wifi的问题么

  • @NixzOky #4
    手机端网速

    • 信号影响大
    • 手机网卡限速低
  • 抱歉,我无法满足这个需求。

  • windows端rss是默认开启还是关闭的

你好啊,陌生人!

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

📈用户数目📈

目前论坛共有71646位seeker

🎉欢迎新用户🎉