USA Gymnastics Prepares for Olympic Glory with Performance Testing

The USA Gymnastics team is full of superstars who are poised to excite, inspire and entertain sports fans around the world.

That means a lot of those sports fans will come to usagym.org to learn more about the athletes, and whenever there’s a wave of traffic, developers need to prepare.

USA Gymnast Simone Biles is a favorite to win Gold at Rio 2016, which will likely boost traffic to the USA Gym website

When assessing website performance in the months leading up to the games, the engineers at USA Gymnastics knew they had a problem.

The homepage’s average load time under the the pressure of 1,000 concurrent users was more than 30 seconds.

Now, ask yourself, when’s the last time you waited 30 seconds for a page to load?

USA Gymnastics ended up improving average load times on its most important pages by nearly 100 percent across the board, and they got there by analyzing data from their Load Impact tests.

Average load times for some of the most important pages on the website were taking as long as a full minute to load under the stress of 1,000 concurrent users for extended periods of time, and that was simply unacceptable for the fans and members of the organization.

Mike Bowman, IT manager at USA Gymnastics, knew the site could be optimized for peak-performance and maintain a modern look. He just needed the right testing software.

“We knew our website couldn’t handle a large hit,” Bowman said. “We tried a few things, but we needed detailed results from testing that could help us optimize our website, server and database bottlenecks.”

The Testing Project

USA Gymnastics started their testing project by looking at website traffic from the 2012 Summer Olympics to help them gauge what they could expect this year.

Bowman and his team determined that they could expect a little less than 1,000 concurrent users hitting their website at several different times throughout the two-week Olympics, so he based their testing on that.

It’s typically a good idea to prepare for slightly higher traffic than you expect, so Bowman decided that the majority of tests would include 1,000 concurrent VUs to be on the safe side.

Working alongside the Load Impact Professional Services team, Bowman established benchmarks and goals for website, server and database performance.

Then, the testing and optimization phase began.

“From Load Impact test results, we were able to see a lot of activity in the database server that we weren’t seeing before,” Bowman said. “That helped us find the bottlenecks and start making tweaks to correct them.”

While some engineers think about a compelling event generating a ton of visitors for a short period of time, the engineers at USA Gymnastics have a somewhat unique situation.

“The Olympic Qualifiers actually had a bigger one-day impact than any one day of the last Olympics,” Bowman said. “But we needed to prepare for a constant stream of traffic for the entirety of the Olympics — which is two weeks of consistent elevated load.”

USA Gymnastics ran long tests with moderate ramp-ups to simulate their expected scenario for the Olympics. Their strategy was to understand how the website, web server and database would react to a consistently high flow of visitors.

The Results

When Bowman and the other USA Gymnastics engineers started testing with Load Impact, they found that their database server was overloaded with 1,000 concurrent virtual users (VUs).

That was obviously not good, but using the metrics from Load Impact tests, Bowman and his team were able to dive into what was causing problems.

After multiple test runs of a few user scenarios, USA Gymnastics was able to see improvements as they continued to optimize with our Performance Trending feature, and that eventually led them to see how they reached their performance goals.

As you can see from the chart above, average load times for the critical pages on the USA Gymnastics website decreased by nearly 100 percent!

Scott Allen is a web developer at USA Gymnastics who worked with Bowman on this project. He’d never worked with performance testing software before, but he said the solution to their problem was clear pretty quickly.

“After running the first version of the test, the entire database server bogged down,” Allen said. “The solution became apparent that we needed to spin up another server with a lot more CPU and RAM.”

The engineers also made a few other code changes to remove some unnecessary database connections on some of their public pages, which they discovered from their test results.

Bowman and Allen made the adjustments, and now they have empirical data to prove they’re ready for the expected bump in traffic — and then some.

Lessons Learned

USA Gymnastics did a lot of things right in this engagement. So, here’s what they did and how you can do it yourself:

  • Start testing early
  • USA Gymnastics started testing more than two months before the opening ceremony of the Olympics
  • They gave themselves plenty of time to test early and continuously
  • Clearly define your goals
  • Bowman and his team looked at their traffic data from a similar event — the 2012 Summer Olympics — and extrapolated from there to determine how many VUs to use in their tests
  • They focused on improving load times as they tested and tweaked — they didn’t only focus on the end goal of a specific load time
  • They knew what they didn’t know
  • USA Gymnastics is obviously a team of talented engineers, but performance testing is a niche discipline, so they made sure to engage our Professional Services team to help them get started
  • They took this opportunity to become great testers
  • Bowman and his team became excellent performance testers quickly. They’ve empowered themselves to continuously test, analyze and optimize application, server and database performance moving forward
This scene is almost as beautiful as a website that’s been optimized for peak performance… Almost. (Photo from NBC Olympics)

Conclusion

The engineers at USA Gymnastics obviously understand the importance of the Olympics for the athletes, but they also know there are thousands of fans in the U.S. and around the world who are going to flock to their website as the games are played over those two weeks.

There’s a massive difference in user experience when you consider some pages taking nearly a minute to load vs. page taking less than a second to load.

Bowman and his team have a responsibility to those fans to provide a great website experience, and they achieved that by approaching performance testing the right way and optimizing their site, server and database for peak performance.

For more information on how Load Impact data can help you optimize your applications, websites, APIs and servers, sign up for a free account today.

***This post originally appeared on the Load Impact blog. We decided to post it on Medium because some of you have been slacking and not checking our blog every day. Shame.