Over a million developers have joined DZone.

How to Load Test for the Euro 2016 Final

The Euro 2016 final is expected to attract 300 million viewers. How on earth do you prepare for those sort of loads?

· DevOps Zone

The DevOps zone is brought to you in partnership with Sonatype Nexus. The Nexus suite helps scale your DevOps delivery with continuous component intelligence integrated into development tools, including Eclipse, IntelliJ, Jenkins, Bamboo, SonarQube and more. Schedule a demo today

UEFA, euro 2016, final, load testing, traffic spike, tournament

Those are some heavy loads, and not only UEFA has to deal with them. If you are:

  • Live broadcasting the game

  • Providing services and merchandise to football (soccer) fans

  • Targeting your products at football goers

  • Marketing to audiences who don’t necessarily watch the game but are affected by it, like people who go online shopping during the games

Then, you might also experience heavy loads during peak times.

Unless they are dealt with correctly, they can cause crashes which result in lost sales and frustrated customers. But with proper performance and load testing, you can easily avoid any bloopers and inconveniences.

Here are 5 things you can do to ensure your performance testing won’t let you down:

1. Run Load Tests From the Production Environment

Testing your network infrastructure is critical for ensuring you test and monitor all chains of delivery.

To get a clear and accurate picture of your performance, we recommend you run the test on your live production site. Preferably, at a time when the traffic is low.

To test your production environment, you can either:

  • Take your existing processes and enlist real people sitting at physical machines and devices from around the world.

  • Use an open source load testing tool like JMeter and buy several Virtual Private Servers (VPS) in different geo-locations to test your web or app servers under heavy, concurrent and geographically distributed load.

  • Take a cloud performance testing tool like BlazeMeter to simulate the load from multiple geo-locations and various devices with just a few clicks in the User Interface (UI).

2. Go to the Limit. Try to Bring Your System into Failure

You never know how many visitors your website will have. A special offer, a change in market, or a competitor’s website crashing might increase your traffic beyond expectations.

Therefore, test until you fail. That is, until you know your capacity and why that is your capacity.

3. Find the Critical Resource

After finding when you hit a bottleneck, now it’s time to identify what it is. The problem is that there are thousands of metrics that can be measured, but no team has enough resources to monitor them all.

Performance engineers need to focus on the critical issues. We recommend you identify 5 – 7 metrics that reflect the system’s critical usage, and give them to the operations team for tracking. Automated alerts for pre-defined thresholds can monitor 20-50 metrics. Developers can even optimize some of the critical resources and eliminate problems before they occur, if they have enough time.

But load testing isn’t always enough for identifying problems. To get a full picture of when and why problems occur, we recommend Application Performance Management (APM) tools for observing application logs. BlazeMeter alongside log aggregation tools like Logentries and Splunk can read your logs and create reports for you.

4. Divide Your System and Stress Each Section Individually

Load isn’t distributed evenly across websites.

To avoid unprecedented traffic on a particular page, divide your system into logical sections, and stress each one separately. This can also help in identifying problems and ensuring your “weakest link” won’t break the entire chain.

5. Set Up Back-Servers and Locations

Though there is no way to avoid power outages and technical crashes, but there are ways to deal with them.

We recommend you have back-up servers and locations ready so you can recover quickly. If you set up a database replication, database failover cluster or application failover cluster, you can switch to the failover location as soon as there’s a problem, enabling you to resolve the problems that the crash caused.

Modern technologies like Redis, mongoDB, and Cassandra offer various data redundancy schemes for automated failovers.

*    *    *

These tips can make sure you are better prepared and ready for any heavy load, be it a special sale, a good marketing campaign, or the Champions League final.

For more details and tips, see our Whitepaper “How to Ensure Your Website or App Won't Fail at Peak Times”.

The DevOps zone is brought to you in partnership with Sonatype Nexus. Use the Nexus Suite to automate your software supply chain and ensure you're using the highest quality open source components at every step of the development lifecycle. Get Nexus today

load,testing,load testing,environment,failover

Published at DZone with permission of Noga Cohen, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}