Member-only story

If Things Are Stuck, but Nothing’s Hot, It’s Probably Locks

Matt Kornfield
3 min readMar 29, 2023
Photo by Markus Winkler on Unsplash

Locking is one of the necessary evils of the software world. I’ll talk through what it means for things to be “stuck”, “hot” and where locks come in.

Stuck

Software systems generally have two sets of requirements

  • Functional (does it do what I ask?)
  • Non Functional (does it do what I ask well?)

When systems slow down or start returning timeouts, that’s generally when those non functional requirements start to matter.

If you have a system that’s experiencing some sorts of issues related to load that really slow it down, then you might say it’s “Stuck” if you’re being informal, but the correct term is “degraded.” A system can be degraded for more than one reason, but you’ll see certain signals like:

  • Requests taking especially long or timing out
  • A high concurrency number if the system can scale up extra threads or processes to handle traffic
  • A quickly growing queue, if the system is able to properly queue messages

All of these signals indicate a lot of work might be getting done. Let’s suppose your system is really working hard, then we might say that it’s —

Hot

--

--

Matt Kornfield
Matt Kornfield

Written by Matt Kornfield

Today's solutions are tomorrow's debugging adventure.

No responses yet