{"id":427,"date":"2026-06-18T12:54:47","date_gmt":"2026-06-18T12:54:47","guid":{"rendered":"https:\/\/virtualserversvps.com\/blog\/?p=427"},"modified":"2026-08-11T22:17:32","modified_gmt":"2026-08-11T22:17:32","slug":"enable-bbr-congestion-control-vps-faster-network-speeds","status":"publish","type":"post","link":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/","title":{"rendered":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">BBR (Bottleneck Bandwidth and Round-trip propagation time) is Google&#8217;s TCP congestion control algorithm, built into the Linux kernel since version 4.9. Where the default CUBIC algorithm probes for bandwidth by filling the network buffer and watching for loss, BBR builds a model of the bottleneck link and paces packets against it. On a typical VPS connection \u2014 a long-distance path with real latency and bufferbloat \u2014 the practical result is higher throughput and noticeably lower latency. This guide covers the prerequisites, the exact sysctl changes, verification commands, and a clean rollback path.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When BBR Helps (and When It Doesn&#8217;t)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BBR shines on high-bandwidth, high-latency paths: a US-based VPS reached from Europe or Asia, large file downloads, rsync of big datasets, and media streaming. Tests on such links commonly show 2\u20133x throughput gains and a 40\u201360% drop in latency spikes compared with CUBIC. It does little for very short transfers of a few hundred kilobytes, because those connections never leave slow-start, and it cannot overcome a provider that shapes your uplink with a hard cap. Measure with iperf3 before and after the change rather than trusting a gut feeling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You need kernel 4.9 or newer. Check what you are running:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uname -r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Debian 10\/11\/12, Ubuntu 18.04 and newer, and current AlmaLinux or Rocky Linux images all ship kernels that include BBR. Confirm the module is actually available:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sysctl net.ipv4.tcp_available_congestion_control<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The output should include <code>bbr<\/code>. If your kernel is older, run a full distro upgrade or reinstall with a current cloud image \u2014 there is no supported way to backport BBR to a 3.x kernel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enable BBR Persistently<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a sysctl drop-in file so the setting survives reboots:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/sysctl.d\/99-bbr.conf &lt;&lt;'EOF'\nnet.core.default_qdisc = fq\nnet.ipv4.tcp_congestion_control = bbr\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Apply it immediately:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sysctl --system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>fq<\/code> (fair queueing) qdisc matters: BBR was designed to work with it, and it smooths bursty senders. On older systems you can use <code>sudo sysctl -p \/etc\/sysctl.d\/99-bbr.conf<\/code> instead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify BBR Is Actually Active<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three quick checks. First, the global default:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sysctl net.ipv4.tcp_congestion_control<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It should print <code>bbr<\/code>. Next, look at a live connection \u2014 the congestion control field appears on the right side of the <code>ss<\/code> output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -tin | head<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, confirm the qdisc on your main interface (cloud VPS interfaces are often named <code>ens3<\/code>, <code>enp1s0<\/code>, or <code>eth0<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tc qdisc show dev eth0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see <code>fq<\/code>. Note that new connections pick up BBR immediately, but long-lived existing connections may keep CUBIC until they are re-established.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quick Bufferbloat Check<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bufferbloat \u2014 the latency inflation that happens when a full queue delays packets \u2014 is the main symptom BBR fixes, so it is worth measuring it directly. Open a second terminal and ping your gateway continuously while downloading a large file with wget or curl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ping -c 100 192.0.2.1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With CUBIC, the round-trip time typically inflates by 50\u2013150 ms while the download saturates the link; with BBR and the fq qdisc, latency stays flat because the sender never overfills the queue. If you see no difference on your path, your bottleneck is probably elsewhere \u2014 the host&#8217;s uplink cap, the provider&#8217;s shaping, or the remote server itself \u2014 and no congestion algorithm will change that.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Optional Tuning Notes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Leave the rest of the network defaults alone unless you have a specific problem. One safe tweak for busy web servers is lowering <code>net.ipv4.tcp_notsent_lowat<\/code> to <code>16384<\/code>, which cuts latency for small responses \u2014 but test it under load first. On kernels where <code>tcp_bbr2<\/code> is available, the BBRv2 variant can be enabled the same way if you prefer the loss-aware behavior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Rollback<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a provider or workload misbehaves \u2014 some very small plans with aggressive shaping see higher loss under BBR \u2014 reverting takes one file edit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/sysctl.d\/99-bbr.conf &lt;&lt;'EOF'\nnet.ipv4.tcp_congestion_control = cubic\nnet.core.default_qdisc = fq_codel\nEOF\nsudo sysctl --system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The change applies immediately and needs no reboot in either direction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Measure Before and After<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run iperf3 against a distant endpoint before and after the change to quantify the gain:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>iperf3 -c iperf.he.net -R<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Also watch ping latency under load for bufferbloat. BBR is one piece of the performance puzzle \u2014 CPU allocation, disk I\/O, and memory sizing matter just as much. If you are still choosing a host, compare providers side by side in <a href=\"https:\/\/virtualserversvps.com\/#providers\">our VPS comparison table<\/a> before committing, and check the <a href=\"https:\/\/virtualserversvps.com\/#faq\">FAQ section<\/a> for questions about oversubscription and network caps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bottom Line<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BBR is a ten-minute change with measurable upside on long-distance paths and no downside for typical web workloads. Enable it, verify with <code>ss<\/code> and <code>tc<\/code>, keep the rollback snippet handy, and re-test with iperf3. Then make sure the rest of the stack \u2014 <a href=\"https:\/\/virtualserversvps.com\/#features\">see the full specs and pricing on the main site<\/a> \u2014 is sized for what you are actually serving.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Need a VPS to try this on? <a href=\"https:\/\/interserver.net\/vps?id=1067805&amp;sid=virtualserversvps\" rel=\"noreferrer noopener sponsored\" target=\"_blank\">InterServer&#8217;s VPS plans<\/a> run current kernels with BBR available out of the box and no long-term contract.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>BBR (Bottleneck Bandwidth and Round-trip propagation time) is Google&#8217;s TCP congestion control algorithm, built into the Linux kernel since version 4.9. Where the default CUBIC algorithm probes for bandwidth by&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":5,"footnotes":""},"categories":[3,1],"tags":[],"class_list":["post-427","post","type-post","status-publish","format-standard","hentry","category-performance-optimization","category-vps-guides-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Enable BBR on Your VPS: Setup, Verification, and Rollback - Virtual Servers VPS Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Enable BBR on Your VPS: Setup, Verification, and Rollback\" \/>\n<meta property=\"og:description\" content=\"How to Enable BBR on Your VPS: Setup, Verification, and Rollback\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Servers VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-18T12:54:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-11T22:17:32+00:00\" \/>\n<meta name=\"author\" content=\"Virtual-Servers-Vps-Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Virtual-Servers-Vps-Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/\",\"name\":\"How to Enable BBR on Your VPS: Setup, Verification, and Rollback - Virtual Servers VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\"},\"datePublished\":\"2026-06-18T12:54:47+00:00\",\"dateModified\":\"2026-08-11T22:17:32+00:00\",\"author\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\"},\"breadcrumb\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtualserversvps.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Enable BBR on Your VPS: Setup, Verification, and Rollback\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/\",\"name\":\"Virtual Servers VPS Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\",\"name\":\"Virtual-Servers-Vps-Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"caption\":\"Virtual-Servers-Vps-Editor\"},\"sameAs\":[\"https:\/\/virtualserversvps.com\/blog\"],\"url\":\"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback - Virtual Servers VPS Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/","og_locale":"en_US","og_type":"article","og_title":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback","og_description":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback","og_url":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/","og_site_name":"Virtual Servers VPS Blog","article_published_time":"2026-06-18T12:54:47+00:00","article_modified_time":"2026-08-11T22:17:32+00:00","author":"Virtual-Servers-Vps-Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Virtual-Servers-Vps-Editor","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/","url":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/","name":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback - Virtual Servers VPS Blog","isPartOf":{"@id":"https:\/\/virtualserversvps.com\/blog\/#website"},"datePublished":"2026-06-18T12:54:47+00:00","dateModified":"2026-08-11T22:17:32+00:00","author":{"@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0"},"breadcrumb":{"@id":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/virtualserversvps.com\/blog\/enable-bbr-congestion-control-vps-faster-network-speeds\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualserversvps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Enable BBR on Your VPS: Setup, Verification, and Rollback"}]},{"@type":"WebSite","@id":"https:\/\/virtualserversvps.com\/blog\/#website","url":"https:\/\/virtualserversvps.com\/blog\/","name":"Virtual Servers VPS Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0","name":"Virtual-Servers-Vps-Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","caption":"Virtual-Servers-Vps-Editor"},"sameAs":["https:\/\/virtualserversvps.com\/blog"],"url":"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/"}]}},"_links":{"self":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/comments?post=427"}],"version-history":[{"count":3,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/427\/revisions"}],"predecessor-version":[{"id":861,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/427\/revisions\/861"}],"wp:attachment":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/media?parent=427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/categories?post=427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/tags?post=427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}