Optimizing HTTP/2 prioritization with BBR and tcp_notsent_lowat

More from: | Cloudflare |
0

Getting the best end-user performance from HTTP/2 requires good support for resource prioritization. While most web servers support HTTP/2 prioritization, getting it to work well all the way to the browser requires a fair bit of coordination across the networking stack. This article will expose some of the interactions between the web server, Operating System and network and how to tune a server to optimize performance for end users.

tl;dr

On Linux 4.9 kernels and later, enable BBR congestion control and set tcp_notsent_lowat to 16KB for HTTP/2 prioritization to work reliably. This can be done in /etc/sysctl.conf:

net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_notsent_lowat = 16384 Browsers and Request Prioritization

A single web page is made

(...)

Read full article » https://blog.cloudflare.com/http-2-prioritization-with-nginx/


About | Cloudflare |

At Cloudflare, we have our eyes set on an ambitious goal -- to help build a better Internet. We believe that with our talented team, smart technology and engaged users we can solve some of the biggest problems on the Internet. Just how big?

  • We serve more web traffic than Twitter, Amazon, Apple, Instagram, Bing, & Wikipedia combined.
  • Anytime we push code, it immediately affects over 200 million web surfers.
  • Every day, more than 10,000 new customers sign-up for Cloudflare service.
  • Every week, the average Internet user touches us more than 500 times.
  • We serve data from over 151 data centers around the world.

»Twitter: @cloudflare »Facebook: @Cloudflare »YouTube: cloudflare