BOOK DEEP-READ · SRE · CHAPTER 21

Handling Overload: better to refuse some work than collapse under all of it

Site Reliability Engineering · Ch 21 · Alejandro Forero Cuervo · Google · 2016

中文 →

What is this chapter about?

You have fought for concert tickets, refreshed a doctor's booking page, hit "buy" the second a sale opened. What happens on the servers in that instant is what this chapter is about: more people show up than the place can serve. Chapter 21 of Google's SRE book is not about making systems faster. It asks a more practical question: once it already cannot keep up, then what?

An analogy first

Picture a restaurant with 20 tables. Tonight 200 people arrive. The worst thing you can do is let them all in. Everyone crowds inside, the waiters run themselves ragged, orders pile into a tangle, and two hours later not a single table has been served a complete meal. All 200 people go hungry. The restaurant did not "serve 200 people" — it just ruined the 20 tables it could have served properly.

Why the old world was hard

A system's instinct is to accept everything. Requests come in and queue up, the queue grows, everyone waits longer. Waiting long enough, the caller assumes failure and hits refresh — so the same crowd comes back as two crowds, then three. The pressure starts feeding itself, and within tens of seconds you slide from "a bit slow" to "no response at all."

The frightening part is not slowness. It is that useful output drops to zero: the machines run flat out, spending every cycle computing results nobody is waiting for anymore.

So what do you do?

Four moves, all of them versions of gracefully doing less:

What does that buy you?

It turns "no" into a real capability rather than a sign of failure. By admitting the ceiling exists and deliberately taking on less, the system holds its output steady at that ceiling when traffic spikes, instead of falling off a cliff at some point. The cost is honest too: saying no takes staff of its own (somebody has to stand at that door), and the short menu is almost never cooked, so on the night you need it, it may well not come out of the kitchen.

Remember one thing

The most expensive mistake under overload is trying to accept everything. Rather than straining until the whole thing collapses and nobody gets anything, say no earlier and selectively — so that the people you did keep actually walk away with something.

Want the mechanisms, the formula and the diagrams? → Switch to the deep read