打开/关闭搜索
搜索
打开/关闭菜单
54
677
62
1925
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁搬瓦工VPS性能优化:原生BBR开启指南”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
搬瓦工VPS性能优化:原生BBR开启指南
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= 搬瓦工 VPS 性能飞跃:原生 BBR 拥塞控制开启与 TCP 协议栈优化指南 = 很多用户在购买了搬瓦工(BandwagonHost)的高速线路(如 CN2 GIA 或 CMIN2)后,在晚高峰期间偶尔仍会感觉网络吞吐量波动。这通常不是线路问题,而是 Linux 默认的 TCP 拥塞控制算法(Cubic 或 Reno)在高丢包或高延迟环境下表现保守导致的。 本文将指导你如何在不使用任何第三方“一键脚本”的情况下,安全地通过 Linux 原生命令开启 '''BBR (Bottleneck Bandwidth and Round-trip propagation time)''',并进行 TCP 协议栈的微调,以榨干服务器的每一滴网络性能。 <blockquote>'''警告''':虽然本文操作均为系统原生命令,但在修改内核参数前,建议在 KiwiVM 后台对 VPS 进行'''快照备份(Snapshot)''',以防万一。</blockquote> == 什么是 BBR?为什么它能加速? == 传统的 TCP 拥塞控制算法(如 Cubic)是基于“丢包”来判断网络拥堵的。一旦发现丢包,它就会剧烈降低发送速度。而在跨国网络环境中,丢包是常态,这导致带宽往往跑不满。 Google 开发的 '''BBR''' 算法则是基于“带宽”和“延迟”来建模。它不把丢包当作拥塞信号,而是尽可能探测物理链路的最大带宽。简单来说:'''BBR 就像给你的数据包装上了智能导航,能在拥堵的网络公路上更激进地抢占车道。''' == 第一步:检查 Linux 内核版本 == BBR 需要 Linux Kernel '''4.9''' 以上版本支持。搬瓦工目前的系统镜像(CentOS 7/8, Ubuntu 20.04/22.04, Debian 10/11)默认内核均已支持,通常无需更换内核。 在终端输入以下命令查看内核版本: <syntaxhighlight lang="bash"> uname -r </syntaxhighlight> * 如果输出类似 <code>4.18.0-xxx</code>、<code>5.4.0-xxx</code> 或更高,说明内核符合要求。 * 如果输出是 <code>3.10.x</code>(主要是老旧的 CentOS 7),建议先重装系统至 Debian 11 或 Ubuntu 22.04(推荐)。 == 第二步:开启 BBR (无需安装任何脚本) == 我们拒绝使用来路不明的“暴力魔改 BBR 脚本”,因为它们可能会破坏系统库文件或植入后门。Linux 原生开启 BBR 只需要修改 <code>/etc/sysctl.conf</code>。 === 1. 开启 IP 转发和 BBR === 复制以下完整命令块并在终端执行: <syntaxhighlight lang="bash"> # 开启 IP 转发 echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf # 设置队列算法为 fq (Fair Queuing) echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.conf # 设置拥塞控制算法为 bbr echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf </syntaxhighlight> === 2. 使配置生效 === 执行以下命令让刚才的修改立即生效: <syntaxhighlight lang="bash"> sudo sysctl -p </syntaxhighlight> === 3. 验证是否开启成功 === 执行以下命令检查: <syntaxhighlight lang="bash"> lsmod | grep bbr </syntaxhighlight> 如果输出中包含 <code>tcp_bbr</code>(如下图所示),说明 BBR 模块已成功加载并运行。 <pre> tcp_bbr 20480 14 </pre> == 第三步:进阶 TCP 协议栈优化 (可选) == 开启 BBR 已经能解决 90% 的问题。如果你想进一步优化高并发场景下的表现(例如建站),可以添加以下参数。 编辑配置文件: <syntaxhighlight lang="bash"> nano /etc/sysctl.conf </syntaxhighlight> 在文件末尾添加以下优化参数(请仔细阅读注释): <syntaxhighlight lang="ini"> # 增加 TCP 缓冲区大小,提升大文件传输速度 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # 开启 TCP 窗口缩放 (Window Scaling),现代网络必备 net.ipv4.tcp_window_scaling = 1 # 开启 SYN Cookies,防止 SYN Flood 攻击 net.ipv4.tcp_syncookies = 1 # 缩短 TCP 连接的保活时间 (Keepalive),默认 7200 秒太长了 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_intvl = 15 net.ipv4.tcp_keepalive_probes = 5 # 允许更多的半连接,应对突发流量 net.ipv4.tcp_max_syn_backlog = 8192 </syntaxhighlight> 保存并退出 (<code>Ctrl+O</code>, <code>Enter</code>, <code>Ctrl+X</code>),然后再次执行 <code>sysctl -p</code> 使其生效。 == 常见问题 (FAQ) == ; Q: 网上说的“BBR Plus”、“BBR 魔改版”比原版更好吗? : A: '''不推荐在生产环境使用。''' 魔改版通常是不仅修改了算法参数(极度激进,可能导致断流),还替换了非官方编译的内核。对于搬瓦工这种本身质量就很高的线路(CN2 GIA),原生 BBR 的稳定性与速度平衡是最好的。 ; Q: 我是 OpenVZ 架构的 VPS,能用吗? : A: 不能。本文教程仅适用于 KVM 架构(搬瓦工目前在售的所有 VPS 均为 KVM)。OpenVZ 用户受限于宿主机内核,无法自行开启 BBR。 ; Q: 开启后速度反而变慢了? : A: 极少数情况下,特定地区的 ISP可能会对长时间高发包的 UDP/TCP 连接进行 QOS 限制。如果发现变慢,只需将 <code>sysctl.conf</code> 中的 <code>bbr</code> 改回 <code>cubic</code> 并执行 <code>sysctl -p</code> 即可复原。 ---- ''Created by AlexLynn for md5.pw Community.'' [[Category:300 VPS 设置与管理 — VPS Setup and Management]] [[Category:500 常见应用指南 — Application Guides]]
返回
搬瓦工VPS性能优化:原生BBR开启指南
。
查看“︁搬瓦工VPS性能优化:原生BBR开启指南”︁的源代码
来自md5.pw