Capacity planning is all about prediction. You need to be able to predict what will happen when with your infrastructure.
Making predictions can be tricky. But it shouldn’t take guesswork. You need data and logic to inform your capacity predictions—and make them as accurate as possible.
Queuing theory can help with that.
There are so many ways to make capacity predictions. But not all of them will be the right way for you—or the best way for your business.
If you’re not doing capacity planning today, linear trend analysis can be a good first step. And, depending on which type of business you’re in, you might be able to get away with linear trending—at least for a while.
For instance, linear trending can be a good fit if you have:
You have to be careful with linear trending, though. Linear trending doesn’t work well for threaded CPUs. It can overestimate the amount of work you can do because the trend works differently before threading gets involved than after.
Most businesses require something more sophisticated. That’s where queuing theory models have an edge.
After all, queuing is why performance doesn’t scale linearly. Your capacity planning method needs to account for queuing. So, using queuing theory models is better than just doing linear trend analysis.
Queuing theory models are the best way to plan ahead.
Looking at a linear trend line can give you some information. But it doesn’t give you the full picture. Queuing theory does.
That’s because queuing theory accounts for utilization and impact. Using a queuing theory model can help you plan for what happens when a server is overutilized.
Queuing theory models are essential for avoiding wasteful spending. After all, if you’re just looking at a prediction of system capacity based on an average, you might overspend.
And that’s a problem. Systems are getting cheaper, but they’re not free. So, if you spend too much on systems and underutilize them, it will waste your organization’s money.
By using a queuing theory model, you can make more accurate projections of your capacity needs. And that means you’ll be able to buy the systems you need—without risking under- or overutilization.
Queuing theory models can also help you save money by making accurate predictions for an event—instead of throwing money at the problem.
Say you come out with a new product. You need to have the right prediction for how much capacity you’ll need to meet demand. If you miss the mark, that means bad press. And if no one can buy your product, they won’t want it anymore. That would be catastrophic.
Queuing theory models can help you answer the question “How much capacity do I need?” without testing it on your systems first.
Let’s say you want to move an application to a new piece of hardware and run a specific load against that application. You’re basically buying the hardware to run a test. So, if it doesn’t work, you’re stuck with the hardware.
Instead, you could use a queuing network model to find out what would happen with the hardware—without buying it.
There are three things you need to be able to do before you can apply queuing theory models to capacity planning.
First and foremost, you’ll need to understand queuing theory.
Queuing theory itself will be your underlying building block for capacity planning. There are many ways to use queuing theory to get results. And that means many different formulas. There’s no one-size-fits-all path.
Truly understanding queuing theory takes time and effort. It’s not something you can accomplish by reading one blog post.
Your starting point might be an introduction to queuing theory textbook (there are tons of these available). You might also start with a blog, like Neil Gunther’s The Pith of Performance. Or you might begin with a YouTube education series.
Once you understand queuing theory, your next step is to become a queuing network expert.
Queuing networks are systems of single queues connected by a routing network.
In IT terms, this means your computer system components—like CPUs and IO devices—behave like a queue and server system. So, your queuing network model joins together the queue and server systems.
Becoming a queuing network expert is an essential step to take before you can start solving queuing network models.
Solving queuing network models gives you answers.
To solve a queuing network model, you need measurement data like:
From there, you can use queuing network models to process the data and make predictions. You’ll find out what would happen if, for instance, you add more users—or another application. And that means you can plan for the future—without impacting your systems to test changes.
By solving queuing network models, you can be more strategic about:
When you use queuing theory models, you’ll be able to accurately predict what will happen when with your IT infrastructure. And that makes capacity planning much easier to do.
But becoming a queuing theory expert is hard. There’s a lot of math and a lot of manual work involved.
It doesn’t have to be that way. If you opt for capacity planning software that utilizes queuing theory, you can make accurate capacity predictions—without studying queuing theory for months.