Upgrading one of the oldest components in Cloudflare’s software stack
March 31, 2023 2:00PM
Engineers at Cloudflare have improved the release procedure of our largest edge proxy server. The improved process allows us to significantly decrease the amount of memory used during the version upgrade. As a result, we can deploy code faster and more reliably...
Continue reading »
ROFL with a LOL: rewriting an NGINX module in Rust
February 24, 2023 2:00PM
Lol-html
ROFL
NGINX
OpenResty
Engineers at Cloudflare have written a replacement in Rust for one of the oldest and least-well understood parts of the Cloudflare infrastructure, cf-html, which is an NGINX module. In doing so we learned a lot about how NGINX works, and paved the way to move away from NGINX entirely....
How we built Pingora, the proxy that connects Cloudflare to the Internet
September 14, 2022 2:00PM
Rust
NGINX
Performance
Today we are excited to talk about Pingora, a new HTTP proxy we’ve built in-house using Rust that serves over 1 trillion requests a day...
Keepalives considered harmful
March 19, 2020 12:57PM
NGINX
Linux
Performance
You’d think keepalives would always be helpful, but turns out reality isn’t always what you expect it to be. It really helps if you read Why does one NGINX worker take all the load? first....
The problem with thread^W event loops
March 18, 2020 12:00PM
NGINX
Linux
Back when Cloudflare was created, over 10 years ago now, the dominant HTTP server used to power websites was Apache httpd. However, we decided to build our infrastructure using the then relatively new NGINX server....
October 17, 2019 3:00PM
Experiment with HTTP/3 using NGINX and quiche
Just a few weeks ago we announced the availability on our edge network of HTTP/3, the new revision of HTTP intended to improve security and performance on the Internet. Everyone can now enable HTTP/3 on their Cloudflare zone...