Nginx Port Exhaustion: Causes, Diagnostics, and Fixes

Introduction Port exhaustion is a pernicious, often misunderstood failure mode that can bring a high-traffic Nginx deployment to its knees. The symptoms are intermittent and confusing—spiky 5xx error rates, “Cannot assign requested address” in logs, and upstream timeouts—yet the root cause is usually simple: you ran out of usable ephemeral ports for outbound connections. In this article, we’ll explain what port exhaustion is and why Nginx is especially prone to it in reverse-proxy scenarios. We’ll cover how to diagnose it accurately, provide practical fixes at the Nginx and OS levels, and offer architectural strategies to prevent it from recurring. Whether you’re running bare metal, in containers, or behind a cloud NAT gateway, this guide will help you understand and solve Nginx port exhaustion. ...

December 12, 2025 · 10 min · 2095 words · martinuke0

Memory-Mapped Files (mmap): A Practical Guide to Faster I/O and Shared Memory

Introduction Memory-mapped files (mmap) let you treat file contents (or anonymous memory) as a region of your process’s virtual memory. Instead of calling read/write in loops, you map a file, then access it as if it were an in-memory buffer. The kernel transparently brings pages into RAM on demand and writes them back when needed. This can reduce system calls, enable zero-copy I/O, and open up powerful patterns like inter-process shared memory. ...

December 6, 2025 · 12 min · 2402 words · martinuke0
Feedback