How Code.org Load Tested its Site for Over 25 Million Users

How Code.org Load Tested its Site for Over 25 Million Users

Industry

Non-Profit

Location

USA

Employees

78

Use Case

Load Testing

About Code.org®

Code.org® was launched in 2013 with a simple vision: that every student in every school, regardless of race, sex or color, would have the chance to learn computer science. This non-profit organization works tirelessly to make Computer Science available in schools everywhere, and its supporters range from the President of the United States to celebrities like Dwight Howard and Angela Bassett.

The Challenge: Load Testing for Tens of Millions of Students

Towards the end of 2013, Code.org launched The Hour of Code - an online event offering a one-hour introduction to code during Computer Science Education Week. With tutorials in more than 30 languages, this was a huge global movement capable of reaching tens of millions of students in more than 180 countries.

Global interest skyrocketed when well-known figures like Bill Gates and even President Obama made videos endorsing the event. At the time, this non-profit organization consisted of just 20 people - and only half of these were developers.

As the event drew nearer and tens of thousands of teachers signed up their entire classrooms, it became clear that it was going to be bigger than the team ever imagined.

"We knew that we were facing a traffic spike unlike anything we’d ever seen before. At this point, we had just two weeks to go."
Brendan Reville, Software Engineer, Code.org

The Solution: Test, Test, and Test Some More

They had to be sure that the site could cope under the extremely high traffic loads this event was bound to bring. And they needed a solution that would allow them to find this out in less than two weeks.

After evaluating their options, BlazeMeter was the obvious choice as it allowed them to test for 100,000 or even 1 million concurrent users from multiple geographical locations. Plus, as its self-service platform was extremely quick and easy to use, they didn’t need to put aside time for setup or training.

They started by running a series of tests on BlazeMeter, increasing the scale each time. When they hit a bottleneck on the first test, they fixed the issue and then ran another test with a higher number of concurrent users. The team repeated this procedure a number of times, each time discovering new issues, until they were able to successfully run tests for around 100,000 concurrent users.

"Running these tests on BlazeMeter proved to be invaluable in preparing us for this huge event. It was especially useful for testing the database on the backend, I don’t know how we’d have simulated this in any other way. We use Amazon for all of our hosting and we learned that we needed to scale up a number of servers and increase database capacity. Running the stress tests helped us understand how much to provision each server type."
Brendan Reville, Software Engineer, Code.org

Countdown to 9am EST

The night before the week started, the team saw traffic starting to build up. But it really peaked at 9am EST - when schools on the American East Coast started for the day. And, as it was a global event, traffic was consistently high at all hours during the entire week.

Around 15 million people logged on to the site during the week-long event. Despite the huge amount of website traffic, Code.org enjoyed good uptime throughout the event. Thanks to BlazeMeter, the team knew how much they needed to scale up their infrastructure and had already provisioned the extra service necessary. They were also fully prepared to slip over to a 'read only' site if necessary.

Preparing the Site for 2014, 2015 & Beyond

For the rest of the year, everything went back to normal - until Code.org decided to run another ‘Hour of Code’ in December 2014. Aware that they were likely to get even more traffic this time, the IT team got in touch with BlazeMeter once more.

The team was right to be prepared. More than 25 million users worldwide joined in - meaning Code.org engaged more people in just five days than Facebook in three years.

Countries Logging on to Code.org’s Site for The Hour of Code in 2014

Once again, the event ran successfully and the team’s only regret was that they didn’t start load testing with BlazeMeter earlier this time.

Due to its phenomenal success, The Hour of Code is now an annual event for Code.org - and the company plans to continue running pre-event testing with BlazeMeter as part of the preparations.

Learn How BlazeMeter Can Help Your Company

Request a Demo