Flash Sale on Hong Kong, China Servers:
Get 50% OFF your first 2 months with MIDYEARPROMO or 50% OFF your first month with JUNEPROMO.
Varidata News Bulletin
Knowledge Base | Q&A | Latest Technology | IDC Industry News
Knowledge-base

Configure BBR to Improve the Throughput of HK CN2 Servers

Release Date: 2026-06-16
Configure BBR to improve Hong Kong CN2 server

You want to improve throughput on your Hong Kong CN2 servers. BBR acceleration offers a modern solution that helps you achieve higher speeds and lower latency. On Linux servers, bbr congestion control uses bandwidth and delay estimates instead of packet loss, which gives you better performance with large bandwidth-delay products. Many users in Asia-Pacific data centers report these benefits:

  • Significant goodput improvements compared to traditional algorithms like Cubic

  • Up to 115% increase in goodput at high latency and bandwidth

  • Stable results under heavy loads

You ensure a smooth and persistent setup when you follow best practices during configuration.

Key Takeaways

  • BBR acceleration improves network throughput and reduces latency by estimating bandwidth and round-trip time instead of relying on packet loss.

  • Ensure your Linux kernel version is 4.9 or higher to enable BBR. Upgrade the kernel if necessary using tools like ELRepo for CentOS.

  • Set the default queue discipline to ‘fq’ and the TCP congestion control to ‘bbr’ using sysctl commands for optimal performance.

  • Make BBR settings persistent by saving configurations in ‘/etc/sysctl.d/99-bbr.conf’ and ensuring the BBR module loads at boot.

  • Test network performance with tools like iperf3 and ping before and after enabling BBR to measure improvements in throughput and latency.

BBR Congestion Control Overview

What Is BBR Congestion Control

You use bbr to improve your server’s network performance. This congestion control algorithm works differently from traditional methods like CUBIC or Reno. Instead of relying on packet loss, bbr congestion control estimates the bottleneck bandwidth and round-trip propagation time. It builds a model of the network by measuring available bandwidth and minimum round-trip time (RTT). You benefit from this approach because bbr dynamically adjusts the pacing rate and congestion window, which helps you achieve optimal throughput and lower latency.

Note: bbr acceleration uses two main parameters—pacing rate and congestion window (CWND)—to manage how much data your server sends. This method reduces congestion and keeps your queue sizes small.

You can see several key features in tcp bbr that contribute to improved throughput:

  • Bandwidth estimation measures available bandwidth by analyzing packet delivery rates.

  • RTT estimation maintains minimum and base RTT to adjust pacing rates, reducing latency.

  • Bottleneck detection identifies the bottleneck link using probing and RTT feedback.

  • Congestion window management adjusts the forwarding rate based on pacing gain and probing.

  • Low latency operation keeps queue sizes minimal, further reducing latency.

Why Use BBR Acceleration on Hong Kong CN2 Servers

Hong Kong CN2 servers face unique network challenges. You often see local traffic reach speeds up to 1Gbps, but international bandwidth is restricted to 20Mbps. Routing detours are common, and only China Mobile offers direct return routing. These issues increase latency and limit throughput.

You address these challenges with bbr acceleration. By using the current congestion control algorithm, you optimize your server’s performance for both local and international users. BBR helps you overcome bottlenecks and reduce delays. You also improve your qdisc settings, which further enhances your network efficiency. When you deploy bbr, you make your Hong Kong CN2 server more reliable and responsive.

Linux Prerequisites for BBR Acceleration

Kernel Version Requirements

You must check your linux kernel version before you enable BBR. The congestion control algorithm requires kernel 4.9 or higher. Most modern distributions, such as centos 7, centos 8, centos Stream, AlmaLinux, and Rocky Linux, support this requirement. You can use the following command to verify your kernel version:

uname -r

If your kernel version is below 4.9, you need to upgrade. Centos users often update their kernel using the ELRepo repository. AlmaLinux and Rocky Linux provide newer kernels by default. You should always back up your data before you upgrade the kernel. The linux kernel version determines if you can use BBR as your congestion control algorithm.

Tip: You can check compatibility by reading your distribution’s documentation. Centos, AlmaLinux, and Rocky Linux have guides for kernel upgrades.

Preparing Your Linux Server

You must prepare your linux server for BBR acceleration. First, update your system packages. Use the following command on centos:

sudo yum update -y

Next, verify that your kernel supports the fair queueing packet scheduler. This scheduler improves packet handling and works well with BBR. You can check the available schedulers with:

sysctl net.core.default_qdisc

You should set the default queue discipline to fq for optimal results. Use sysctl to apply this setting:

sysctl -w net.core.default_qdisc=fq

You must also configure sysctl to use BBR as the congestion control algorithm. Set the tcp congestion control to bbr:

sysctl -w net.ipv4.tcp_congestion_control=bbr

You should add these sysctl settings to your /etc/sysctl.conf file. This step ensures that BBR remains active after you reboot your linux server. You must check your packet handling and verify that your server uses the correct scheduler and congestion control algorithm.

Note: Always test your network after you change sysctl settings. You can use ping or iperf3 to check packet loss and latency.

Configure BBR Acceleration Step-by-Step

Check Linux Kernel Version

You must check your kernel version before you start bbr acceleration. The kernel determines if your server supports the congestion control algorithm. You can use simple commands to find your current kernel version:

  • Run uname -r to display the kernel version.

  • After a system restart, run uname -r again to confirm the latest kernel is active.

If your kernel version is greater than 4.9, you can proceed. If not, you need to upgrade. On CentOS, you follow these steps:

  1. Import the ELRepo GPG key and install the repository:

    sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
    
  2. Install the latest mainline kernel:

    sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
    
  3. Set the new kernel as the default boot entry:

    sudo grub2-set-default 0
    
  4. Regenerate the GRUB configuration:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  5. Reboot your server:

    sudo reboot
    
  6. After reboot, verify the kernel version:

    uname -r
    

You must see a version number greater than 4.9. This step ensures your server is ready for bbr acceleration.

Enable BBR Acceleration

You enable bbr acceleration by setting the correct sysctl parameters. These parameters control how your server handles network traffic. You need to edit your sysctl configuration file. Open /etc/sysctl.conf or create a new file at /etc/sysctl.d/99-bbr.conf. Add the following lines:

Parameter

Value

net.core.default_qdisc

fq

net.ipv4.tcp_congestion_control

bbr

You save the file and apply the configuration:

sudo sysctl --system

You can also use sudo sysctl -p to refresh the settings. These changes activate bbr and set the fair queue discipline for your network. You optimize your server for better throughput and lower latency.

Tip: You can load the bbr module manually with sudo modprobe tcp_bbr. Run lsmod | grep bbr to check if the module is loaded.

Make BBR Persistent

You must make your bbr configuration persistent. This step ensures bbr acceleration remains active after every reboot. You create a dedicated file under /etc/sysctl.d/ instead of appending lines to /etc/sysctl.conf. This method keeps your configuration easy to manage and avoids duplicate entries.

  • Create /etc/sysctl.d/99-bbr.conf with the following content:

    net.core.default_qdisc=fq
    net.ipv4.tcp_congestion_control=bbr
    
  • Ensure the bbr module loads at boot by creating /etc/modules-load.d/bbr.conf:

    tcp_bbr
    
  • If the module loading file is missing, run:

    echo 'tcp_bbr' | sudo tee /etc/modules-load.d/bbr.conf
    

You apply the new sysctl settings:

sudo sysctl --system

Note: Using a dedicated sysctl file helps you audit, reapply, or remove bbr acceleration easily. This approach works well across different Linux distributions.

Verify BBR Activation

You must verify that bbr is active on your server. You use several commands to check the congestion control algorithm and queue discipline. You also confirm that bbr manages your network connections.

Command

Purpose

sudo sysctl net.ipv4.tcp_congestion_control

Check the active congestion control algorithm

sudo sysctl net.core.default_qdisc

Confirm the queue discipline is set to Fair Queue

`lsmod

grep bbr`

`ss -ti

grep -i bbr`

You expect the following output:

Command

Expected Output

sysctl net.ipv4.tcp_congestion_control

net.ipv4.tcp_congestion_control = bbr

lsmod

grep bbr

ss -tin

Look for bbr in the congestion control field

Callout: If you see bbr listed in the congestion control output and the module loaded, your server uses bbr acceleration. You can now enjoy improved network throughput and lower latency.

You complete these steps to configure bbr acceleration on your Hong Kong CN2 server. You ensure persistent and reliable performance by following these best practices.

Benchmark and Optimize Throughput

Test Performance with iperf3, ping, curl

You need to measure the impact of bbr on your server’s performance. Start by using tools like iperf3, ping, and curl. These tools help you check network throughput, latency, and packet loss before and after enabling bbr.

  • Use iperf3 to test throughput between your Hong Kong CN2 server and a remote client. Run iperf3 -s on the server and iperf3 -c <server_ip> on the client.

  • Use ping to measure round-trip time and packet loss. Run ping <destination_ip> and observe the average latency and any lost packets.

  • Use curl -o /dev/null -s -w "%{time_total}\n" <url> to test download speed and total transfer time.

Tip: Run these tests multiple times to get consistent results. You can compare the numbers before and after enabling bbr to see network speed improvements and lower latency.

Adjust Network Settings for Optimal Results

You can further boost performance by tuning your network settings for bbr. Follow these steps to achieve enhanced throughput, especially on high-latency international routes:

  1. Calculate the bandwidth-delay product (BDP). Measure RTT with ping and multiply by your bandwidth. For example, a 100 Mbps link with 80ms RTT gives a BDP of 1 MB. Set buffer sizes to at least twice the BDP for headroom.

  2. Apply WAN-optimized TCP settings. Increase socket buffers by setting net.core.rmem_max and net.core.wmem_max to large values. Enable window scaling with net.ipv4.tcp_window_scaling = 1.

  3. Disable slow start after idle by setting net.ipv4.tcp_slow_start_after_idle = 0. This prevents performance drops after idle periods.

  4. Tune keepalive settings to detect dead connections faster. Set net.ipv4.tcp_keepalive_time = 300, net.ipv4.tcp_keepalive_intvl = 30, and net.ipv4.tcp_keepalive_probes = 10.

  5. Test WAN performance by simulating latency with tc qdisc and comparing throughput between CUBIC and bbr using iperf3.

You will often see bbr deliver 2-5× better throughput than CUBIC on lossy WAN links. This happens because bbr maintains high performance even when packet loss and latency are present. These settings help you achieve network throughput gains and lower packet loss, making your server ideal for international users.

Note: Adjusting TCP window size and prioritizing HTTP/2 traffic can also lead to enhanced throughput and improved performance for web applications.

Troubleshooting and Automation

Common Issues with BBR on Linux

You may encounter several issues when you enable BBR on your Linux server. Understanding these problems helps you fix them quickly and maintain optimal performance. Here are the most common issues and their solutions:

  1. Wrong queue discipline (qdisc)
    You must set the queue discipline to fq for BBR to work correctly. If you use another discipline, BBR may not deliver the expected throughput. Run this command to set the correct queue discipline:

    sudo sysctl -w net.core.default_qdisc=fq
    

    Tip: Always check your queue discipline after making changes. Use sysctl net.core.default_qdisc to verify.

  2. Buffer limits too low
    You need to increase TCP buffer sizes if you want higher throughput. Low buffer limits restrict BBR’s ability to optimize data flow. Adjust the buffer sizes by editing your sysctl settings:

    sudo sysctl -w net.core.rmem_max=16777216
    sudo sysctl -w net.core.wmem_max=16777216
    

    Callout: Larger buffers help BBR handle more data and reduce packet loss.

  3. Network bottleneck elsewhere
    You should check your physical network for bottlenecks. BBR improves TCP performance, but it cannot fix hardware or infrastructure limitations. Test your cables, switches, and upstream bandwidth to ensure nothing blocks your server’s traffic.

Issue

Solution

Wrong queue discipline

Set fq with sysctl

Buffer limits too low

Increase TCP buffer sizes

Network bottleneck elsewhere

Check hardware and network infrastructure

Automate BBR Configuration

You can automate BBR configuration to save time and reduce errors. Automation ensures your settings remain consistent after reboots or system updates. Create a script that applies all necessary sysctl parameters and loads the BBR module.

Here is a simple Bash script you can use:

#!/bin/bash
sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo modprobe tcp_bbr

Note: Place this script in /usr/local/bin/ and schedule it with cron or add the settings to /etc/sysctl.d/99-bbr.conf for persistent configuration.

You can also use configuration management tools like Ansible or Puppet. These tools help you deploy BBR settings across multiple servers with ease. Automation keeps your network optimized and reduces manual work.

You gain faster and more reliable network performance when you enable BBR acceleration on your Hong Kong CN2 server. To keep your setup optimal, follow these best practices:

  • Increase network buffer sizes and enable TCP window scaling.

  • Apply changes with sudo sysctl -p for immediate effect.

  • Test BBR with your actual workloads and monitor results.

  • Update your Linux system regularly for compatibility.

You should always monitor performance and troubleshoot issues to maintain the best results.

FAQ

Can you enable BBR on any Linux distribution?

You can enable BBR on most modern Linux distributions if your kernel version is 4.9 or higher. Check compatibility using uname -r. Upgrade your kernel if needed.

Does BBR improve performance for all network types?

BBR works best on high-latency and high-bandwidth connections. You may not see much improvement on local networks with low latency.

Tip: Test your network before and after enabling BBR to measure the difference.

How do you check if BBR is active?

Run this command to verify:

sysctl net.ipv4.tcp_congestion_control

You should see bbr as the output. This confirms BBR is active.

Will BBR settings persist after reboot?

You ensure persistence by adding BBR settings to /etc/sysctl.d/99-bbr.conf. This file loads automatically after each reboot.

Setting

File Location

BBR configuration

/etc/sysctl.d/99-bbr.conf

Can you automate BBR setup across multiple servers?

You can use scripts or tools like Ansible to automate BBR configuration. This saves time and keeps your settings consistent.

Note: Automation helps you avoid manual errors and speeds up deployment.

Your FREE Trial Starts Here!
Contact our Team for Application of Dedicated Server Service!
Register as a Member to Enjoy Exclusive Benefits Now!
Your FREE Trial Starts here!
Contact our Team for Application of Dedicated Server Service!
Register as a Member to Enjoy Exclusive Benefits Now!
Telegram Skype