Analysis updated 2026-07-03
Replace the stock CentOS 6.5 kernel on a 12-plus-core server to eliminate TCP bottlenecks that cause throughput to drop as more cores are added.
Use the LD_PRELOAD library with Nginx to multiply its request-handling capacity without changing any application code.
Speed up HAProxy on servers with Intel NICs that support hardware packet steering by combining Fastsocket with Flow Director.
| fastos/fastsocket | sypstraw/rpi4-osdev | cilium/pwru | |
|---|---|---|---|
| Stars | 3,743 | 3,745 | 3,746 |
| Language | C | C | C |
| Setup difficulty | hard | hard | hard |
| Complexity | 5/5 | 5/5 | 4/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires replacing the Linux kernel, only targets CentOS 6.5 and is not compatible with modern kernel versions.
Fastsocket is a kernel-level modification for Linux that makes the TCP networking stack scale more efficiently on multi-core servers. It was developed at SINA.COM, a Chinese internet company, in cooperation with Tsinghua University and with support from Intel. Research describing the system was published at ASPLOS 2016, a computer systems conference. The problem Fastsocket addresses is that the standard Linux kernel does not scale well for network-heavy workloads once a server has more than about four CPU cores. At 12 or more cores, the stock kernel can see throughput drop as more cores are added, because of contention around shared networking data structures. Fastsocket redesigns the socket layer so that each CPU core has its own independent path through the network stack, achieving close to linear scaling up to 24 cores. In benchmark tests, Fastsocket increased the request-handling throughput of Nginx (a web server) by 290% and HAProxy (a load balancer) by 620% on a 24-core machine compared to the base CentOS 6.5 kernel. On servers with Intel NICs supporting Flow Director, a hardware feature that steers network packets to specific CPU queues, HAProxy throughput improved by an additional 15% in proxy workloads. Enabling hyper-threading added another 20% on top of that. Fastsocket works as a custom Linux kernel combined with a small preload library. Existing applications require no code changes: a program like Nginx can use Fastsocket simply by starting with the library loaded via the LD_PRELOAD environment variable. Removing the library returns the application to standard kernel behavior, making rollback immediate. The implementation targets CentOS 6.5. The system had already been running in production at SINA.COM for HTTP load balancing since March 2014. It is released under GPLv2.
A custom Linux kernel patch that makes TCP networking scale close to linearly on multi-core servers, boosting throughput for web servers and load balancers by hundreds of percent.
Mainly C. The stack also includes C, Linux kernel.
Free to use and modify, but any distributed version must also be open source under GPLv2.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.