Support >
  About independent server >
  If your US server has a high packet loss rate, don't switch servers; try the BBR acceleration algorithm instead!

If your US server has a high packet loss rate, don't switch servers; try the BBR acceleration algorithm instead!

Time : 2026-06-05 15:03:39
Edit : DNS.COM

  Many people believe that packet loss is simply a sign of "bad network," but this is too simplistic. In reality, the high packet loss rate on US servers stems from two main factors: physical distance and the "old-fashioned" nature of the TCP protocol.

  First, let's consider physical distance. The fiber optic cable from China to the US West Coast is approximately 10,000 kilometers long. Even at the fastest speed of light, a round trip takes 120-150 milliseconds. This is just a theoretical value; adding the processing time of routers along the way, the RTT (Return Time To Transaction) is generally between 180-250 milliseconds. Longer distances mean longer data packets on the road, naturally increasing the probability of interference and packet loss.

  Second, let's discuss the traditional TCP protocol algorithms. The congestion control algorithms used by default on your server are mostly Cubic or Reno. These two algorithms share a common characteristic—they treat packet loss as a signal of network congestion. Once packet loss is detected, the sending speed is immediately reduced, and the speed is gradually increased once the network "catch up."

  This design works fine in local area networks or low-latency environments, but it causes problems on cross-border links. Because trans-Pacific links are inherently prone to packet loss, even with ample bandwidth and uncongested routers, traditional algorithms can misjudge congestion and proactively reduce speed. The result is: there's a path to take, but your server automatically applies the brakes.

  Simply put, Cubic's throughput begins to drop significantly when the packet loss rate exceeds 0.1%, and it's essentially useless at a 5% packet loss rate. BBR, on the other hand, maintains high throughput under the same packet loss conditions, only showing significant degradation when the packet loss rate exceeds 5%. In short, Cubic is vulnerable to packet loss, while BBR is not.

  What exactly is BBR? Let's explain it in one sentence:

  BBR stands for Bottleneck Bandwidth and Round-trip propagation time. The name is a bit convoluted, but the principle is simple.

  The traditional Cubic algorithm operates on a "probe-bump-back" principle: it accelerates data transmission until the router's buffer is full and packet loss begins, then immediately slows down, waits for the buffer to empty, and then slowly accelerates again. This cycle repeats. During this process, while the router's buffer is full, data packets queue for processing, causing latency spikes; when packet loss occurs, data is discarded, reducing efficiency.

  BBR takes a completely different approach. It doesn't wait for packet loss to react; instead, it measures two key pieces of data in real time: the actual bandwidth limit of the current link and the shortest time a data packet needs to "travel" to reach its destination. With this data, BBR can accurately calculate "how fast to send data without causing congestion."

  To illustrate, Cubic is like a young man who only slams on the brakes when he sees a traffic jam at an intersection, then accelerates again once the congestion clears, repeating this cycle repeatedly. BBR, on the other hand, is like an experienced driver who anticipates road conditions and traffic speed, maintaining a perfectly controlled speed—neither running red lights nor driving at a snail's pace.

  How effective is it? Google's real-world testing data on YouTube shows that enabling BBR increased global average throughput by 4%, and over 14% in regions with complex network conditions like Japan, while reducing RTT by 33%. Another hosting platform, WordPress, saw a 2700-fold increase in throughput after enabling BBR—this figure is exaggerated and likely reflects extreme scenarios, but it's enough to demonstrate BBR's power.

  How to enable BBR? Done in three minutes!

  Okay, enough theory, let's get practical. Enabling BBR is really easy. No kernel compilation or additional software installation is required; it's built into the system, just not enabled by default.

  Step 1: Check your kernel version

  BBR requires Linux kernel version 4.9 or higher. First, check if your server meets the requirements:

uname -r

  If the output is similar to 5.x.x or 4.x.x and x≥9, congratulations, you can start it directly. If the output is 3.x.x, you need to upgrade the kernel first (this step is a bit troublesome, but there are many tutorials online, or you can use a one-click script).

  Step 2: Confirm system support for BBR

sysctl net.ipv4.tcp_available_congestion_control

  If the output contains bbr, it means that the kernel has already compiled the BBR module and can be enabled directly.

  Step 3: Modify system configuration

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

  The first line sets the queue rules (fq works best with BBR), the second line specifies the congestion control algorithm as BBR, and the third line applies the configuration.

  Step 4: Verify success

sysctl net.ipv4.tcp_congestion_control

  The output should be `net.ipv4.tcp_congestion_control = bbr`. Run another command to confirm the module is loaded:

lsmod | grep bbr

  Seeing "tcp_bbr" means you're all set.

  The whole process takes less than 3 minutes and doesn't require a server restart (though a restart might be necessary in some cases, depending on kernel configuration). If you find manual input tedious, there are one-click scripts online, but I recommend manual operation—it's just two lines of commands, and typing it yourself gives you more peace of mind.

  BBR isn't a panacea; don't mythologize it.

  Having said so much about the benefits of BBR, I also need to pour some cold water on it. BBR isn't a "network accelerator"; it solves a specific problem—TCP transmission efficiency in high-latency, high-packet-loss environments. It's not a CDN and can't help you with "nearest distribution"; it's not bandwidth expansion and can't exceed the actual bandwidth limit of your server.

  Furthermore, BBR isn't suitable for all scenarios. If your server's traffic is mainly internal network communication, with very low latency (e.g., less than 10ms) and a near-zero packet loss rate, then BBR's advantages are not obvious, and Cubic is sufficient. BBR's stage is "long, fat networks" like those spanning the Pacific and continents.

  There's another scenario: if your packet loss is severe (more than 10%) due to ISP line quality issues, BBR won't help. Algorithm optimization isn't magic; physical layer problems still require changing the network.

  My advice is simple: if your server runs Linux kernel 4.9+, primarily serves users overseas or across networks, and occasionally experiences lag but isn't using full bandwidth—just enable it; there are no side effects.

  It's free, doesn't modify business code, doesn't affect existing services, and is just a matter of two lines of commands. Use it for a while after enabling it, and you'll notice the difference in most cases. Is SSH command-line interaction smoother? Is the website backend faster? Are file transfers more stable?

  If it's still slow after enabling it, the problem might not be with the algorithm; try changing the network or adding a CDN if necessary. But at least BBR helps you eliminate the most easily overlooked possibility—it's not that the server is faulty, but that it's not using the right approach.

DNS Luna
DNS Amy
DNS NOC
Title
Email Address
Type
Information
Code
Submit