3 ms·
I like this one too: After removing various bottlenecks in our system, SimpleServer scaled to 20 cores and serves nearly 700,000 requests per second. This work
by mercurial 13y ago
I like this one too:
After removing various bottlenecks in our system,
SimpleServer
scaled to 20 cores and serves nearly 700,000 requests per second.
This workload places an unusual burden on the Linux kernel and
triggers a bug in Linux; Under such a heavy load, the
epoll
subsystem occasionally does not return read events for a socket,
even though the socket has data ready, causing worker threads in
SimpleServer
to wait for data indefinitely.
[...]
This long-standing bug affects all Linux kernels since 2.4 and
a patch fixing the issue has been accepted into the Linux kernel
In short their "simple server" with the Mio manager was so fast that it broke epoll :)
- smosher 13y agoThey didn't break epoll, epoll was straight-up broken. They just managed to supply enough pressure to reliably trigger the bug, which is even more impressive if you think about it.