Performance Engineering

The Four Horsemen of Performance

The fundamentals of performance engineering start with understanding what makes systems tick.  We call this the Four Horsemen of Performance.  Even though we’re now in a world of cloud, these fundamentals still lie at the heart of performance.  Computer science is still computer science, we’ve just scaled it in ways that we couldn’t even imagine in the past.

Processor

Processor.  CPU.  Cores.  Virtual Cores.  Processor capacity gets through instructions.  The more instructions you can get through the better, right?  Your processor capacity is definitely the engine of performance.

Memory

Processors act on instructions and data.  Where are instructions and data held?  In memory.  Think of this as being the fuel for the engine.  To keep your performance up you need the right size fuel tank.

Network

You can’t achieve high performance from just a single machine, no matter how powerful.  We need to spread work across machines by getting them to communicate with each other.  Network is your ability to communicate.

Storage

They say that data is the new oil.  That oil has to be kept somewhere, and getting it in and out of storage is an important piece of the performance puzzle.

We call this the Four Horsemen of Performance.

The Big C's of Performance

These are the factors that can cause issues in performance, even when resources themselves are available.  To achieve outstanding performance you need to understand how the Four Horsemen interact with each other, and how this can go wrong.  We call this the Big C’s.

Contention

What happens when 10 people try to get through a door at the same time?  Or 1000 people want the same table in a restaurant?  This is Contention, and it can doom your applications unless you have the strategies to avoid it.

Coordination

You can solve a big problem by breaking it down into a hundred small problems.  Sounds simple!  How do you make sure that you’ve solved every piece?  That’s not as straightforward, and the more you scale the more you need strategies to coordinate disconnected work.

Capacity

You’ve got a fast car but only got a small boot?  Lots of doctors in the surgery but only a small waiting room?  It’s not just being able to work quickly, we make sure you have the capacity to handle the work in progress.

Concurrency

Juggle one ball really fast, or juggle five balls at the same time.  Same throughput, very different challenges.  We give you strategies for increasing concurrency, no matter how many balls you need to juggle.