Pushing Go TLS to 100 Gbps from the server ☠️
summary
A talk about building a CDN in Go that achieves 100 Gbps TLS performance from a single server. It explains why Go was chosen, how the CDN architecture and TLS path are implemented, and describes specific bottlenecks encountered (labeled X, X2, etc.) and the concrete solutions applied to remove them.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 3:41TLS encryption issues
- 6:26Zero-copy and syscalls
- 9:38Server requirements and bottlenecks
- 11:42KTLS: idea and implementation
- 15:30KTLS code and integration
- 17:38Production results
- 19:23Handshake optimization
- 22:35Session mechanisms
- 25:28Summary and service simplification
- 29:19Go and KTLS evolution
- 31:02Go performance issues
- 32:30Q&A
related talks
46mPushing Go TLS to 100 Gbps from a Server ☠️
43mHow to Build a 200 Gbps Video Platform
43mBe Like Netflix - Building a CDN from Scratch
40mWhirlwind tour through the HTTP2 spec
20mmmTLS: Scaling the Performance of Encrypted Network Traffic Inspection
32mCDN Scaling Challenges
55mStreaming Video at 10 Gbits
17mRearchitecting the TCP Stack for I/O-Offloaded Content Delivery
