Tagged articles
15 articles
Page 1 of 1
Open Source Tech Hub
Open Source Tech Hub
Jul 16, 2025 · Backend Development

Why Does the Thundering Herd Problem Slow Your Linux Server and How to Fix It

The article explains the thundering herd problem in Linux—how multiple processes or threads wake up simultaneously for a single event, causing wasted CPU cycles and lock overhead—then examines its impact on accept, poll, and epoll, and presents practical solutions such as EPOLLEXCLUSIVE, SO_REUSEPORT, thread pools, and spin‑locks.

linuxthundering herd
0 likes · 42 min read
Why Does the Thundering Herd Problem Slow Your Linux Server and How to Fix It
Deepin Linux
Deepin Linux
Jul 15, 2025 · Operations

Why the Thundering Herd Problem Slows Your Linux Server and How to Fix It

The thundering herd problem in Linux causes multiple processes or threads to wake up simultaneously for a single event, leading to wasted CPU cycles, excessive context switches, lock contention, and severe performance degradation, but it can be mitigated with kernel tweaks, epoll flags, SO_REUSEPORT, thread pools, and other strategies.

Linux performanceacceptepoll
0 likes · 45 min read
Why the Thundering Herd Problem Slows Your Linux Server and How to Fix It
Liangxu Linux
Liangxu Linux
Aug 18, 2024 · Backend Development

Why Does the Thundering Herd Problem Still Appear with epoll? Deep Dive and Fixes

This article explains the thundering herd phenomenon in multi‑process/thread servers, details its performance costs, demonstrates the issue with accept() and epoll_wait() through C examples, explores thread‑level herd, and presents mitigation techniques such as accept mutexes, SO_REUSEPORT, and Nginx's handling.

Linux kernelSO_REUSEPORTaccept
0 likes · 20 min read
Why Does the Thundering Herd Problem Still Appear with epoll? Deep Dive and Fixes
Open Source Linux
Open Source Linux
Jun 18, 2024 · Backend Development

Understanding and Solving the Linux Thundering Herd Problem

This article explains the Linux thundering herd phenomenon, its impact on processes, threads, and epoll, demonstrates it with C code examples, analyzes system overhead, and presents mitigation techniques such as accept mutex, SO_REUSEPORT, and proper locking to improve server performance.

SO_REUSEPORTacceptepoll
0 likes · 19 min read
Understanding and Solving the Linux Thundering Herd Problem
Open Source Tech Hub
Open Source Tech Hub
Jan 24, 2024 · Backend Development

How ReusePort Solves the Thundering Herd Problem in Workerman

This article explains the thundering herd issue caused by multiple workers waiting on the same socket event, describes how the SO_REUSEPORT socket option eliminates the wasteful wake‑ups, and shows step‑by‑step how Workerman can be configured to use reusePort for better concurrency and throughput.

BackendSocketreuseport
0 likes · 12 min read
How ReusePort Solves the Thundering Herd Problem in Workerman
Liangxu Linux
Liangxu Linux
Oct 21, 2023 · Backend Development

Why Nginx Doesn’t Fall Victim to the Thundering Herd Problem

This article explains the thundering herd phenomenon in multi‑process servers, walks through Nginx’s master‑worker architecture and its use of epoll, and compares three practical mitigation techniques—accept_mutex, EPOLLEXCLUSIVE, and SO_REUSEPORT—complete with code excerpts and configuration examples.

BackendNginxSO_REUSEPORT
0 likes · 9 min read
Why Nginx Doesn’t Fall Victim to the Thundering Herd Problem
Didi Tech
Didi Tech
May 18, 2018 · Backend Development

Understanding the Thundering Herd Problem in Linux and Nginx

The article explains the thundering herd problem where many processes wake for a single event, describes Linux’s kernel fixes for accept() and partial epoll solutions, and details how Nginx avoids the issue using a custom inter‑process accept mutex and lock design.

Linux kernelNginxconcurrency
0 likes · 14 min read
Understanding the Thundering Herd Problem in Linux and Nginx
21CTO
21CTO
Apr 25, 2016 · Backend Development

How to Proactively Refresh Memcached Before Expiration and Avoid DB Thundering Herd

This article explores why Memcached expiration can cause sudden DB overload and presents five practical strategies—including periodic DB refresh, lock‑based queries, dual‑key schemes, and time‑embedded values—to proactively update caches and keep backend performance stable.

BackendJavaMemcached
0 likes · 8 min read
How to Proactively Refresh Memcached Before Expiration and Avoid DB Thundering Herd