David Ruckman, Senior Consultant
In our last release we had a big problem. Our code was in UAT phase, two weeks before the release date. We ran the scheduled performance (load) test and...bad news, the results were much worse than the one for our last release! The performance test failed. Well, we obviously can't release the code that way, so it's time to play Clue!
You remember Clue, right? It's a game where you have a bunch suspects, a bunch of rooms and a bunch of weapons -- and a murder. Your job is to figure out, through process of elimination, who committed the murder, where they committed it, and how they did it. You can use the exact same process to fix performance issues in Sitecore.
In Clue, when you start out you don't know anything. As far as you know, the crime could have been committed by anyone. That's the same way you feel when you find a performance issue. Your mind starts thinking through all the possible things that could have changed since the last, successful, performance test. Is there something wrong with the database? Did someone introduce a bug into the configurations? Was it one of the new modules we developed (it was probably Ted's, not mine!)? Did the test itself change from last time? Is there some networking issue? Did the maintenance job fail to run? Is the problem in some test content? And on-and-on your brain will go.
Your first move might be to start investigating those things one-by-one, using gut instinct, until you find the culprit. But that would be the WRONG way to do it. You'll take too long, and if you find it it'll just be by chance and luck. The trick to troubleshooting performance issues is to NOT go willy-nilly down every rabbit hole your fevered brain can imagine, but instead to take a disciplined, logical and methodological approach to eliminating the suspects.
So let's begin the game!
You can read the full article by clicking here.