Welcome!

Related Topics: @CloudExpo, Java IoT, Microservices Expo, Linux Containers, SDN Journal, @DevOpsSummit

@CloudExpo: Article

How to Choose Where Your Load Should Come From

The goal of a load test is to replicate the traffic & conditions your app experiences in production as realistically as possible

The goal of a load test is to replicate the traffic & conditions your app experiences in production as realistically as possible

As a tester, you understand how important it is to create the most realistic load test possible to provide confidence that your web application won't fail in the field. But how do you know where your load should come from to produce realistic results?

In this article, we have outlined three options most organizations can choose from when determining where your load should come from.

  1. Generate load on dedicated infrastructure in the datacenter
  2. Generate load from a private cloud
  3. Generate load from distributed public cloud locations

There is a time and a place for all three of these options. In this post we will go over when you should do each test and why.

1. Generate load on dedicated infrastructure in the datacenter

When: Perform internal load generation for early stage performance tests and tests on internal IT apps that will be accessed by users behind your firewall.

Why: Load testing from dedicated infrastructure inside your own datacenter is the most common and typically the most accessible way to wring out performance issues in your applications. This type of testing should be performed as part of your regular testing process.

Essentially what happens is you define specific load and performance tests that push on the individual modules and user paths within the system, and make sure that no unintended bottlenecks were introduced during development. The kinds of issues you'll work out with this localized, constrained testing include:

  • Inadequate transaction design
  • Broken links
  • Poor configuration
  • Memory leaks
  • Unoptimized code
  • Sub-optimal session model
  • Ineffective caching
  • Database indexing, connection, and concurrency issues

While performing this type of load test on dedicated equipment is easy, there are a few issues with using this approach as your sole means of load testing - the first of which is that many companies simply do not have adequate dedicated infrastructure resources to realistically test application performance at scale. The capital expense involved with acquiring and managing network equipment, servers, and applications for the sole purpose of performance testing can be hard to justify - especially when you consider that this infrastructure may sit idle for a significant portion of its life.

Second, load testing from anywhere inside your own datacenter environment will test only application performance. It will not test the full capabilities of the datacenter (including network configurations, load balancing, or security systems) and therefore will not produce a realistic picture of the user experience.

Running load tests from your internal environment is an important part of improving application performance, but it is not sufficient. You should integrate tests like those outlined above as a frequent part of your build & integration process. As you near the end of a release cycle, you'll have confidence that the application's functionality performs well under periods of high traffic.

2. Generate load from within a private cloud

When: Perform tests from a private cloud when you need to ramp up your load generation infrastructure quickly for larger tests.

Why: To address some of the issues above, many organizations are running load tests from within their private clouds. Operating on this type of infrastructure has several benefits when compared with the first approach that has been outlined.

Functionally, this method of testing is best suited to the same types of performance tests that you would execute using dedicated hardware: database optimization, transaction design, and the rest. However, private clouds address some of the problems with running on dedicated hardware.

First, a private cloud can be significantly less expensive to operate, specifically because the cloud infrastructure can be leveraged across many different applications. When you are done with your load test, virtual machines can be reassigned to complete other tasks such as analytics, development, or other cloud-friendly business processes. This allows an IT organization to distribute infrastructure costs, thus lowering the overall expense.

Second, this approach lends itself very easily to more realistic scaling. You can grab more cycles and more disk space as needed, ultimately driving a more aggressive stress test of the application.

Chances are, however, since you are testing from within your own network and environment, you are still not stressing the complete datacenter. As a result, this type of load generation approach won't necessarily give you an accurate picture of what your users will experience in periods of high traffic.

3. Generate load from distributed public cloud locations

When: Perform this test for when your app will be accessed primarily from users outside your firewall from distributed locations.

Why: By running your load tests from outside the datacenter in a public cloud or even a remote private cloud environment, you will get a good picture of how your datacenter infrastructure handles high traffic. This third type of load will test a part of the application's delivery that no amount of testing from your own datacenter can duplicate. This includes:

  • Load balancers
  • Networking equipment configuration
  • Data center connectivity and bandwidth
  • Web firewalls and security systems
  • In-network caching and content distribution
  • Network architecture
  • DNS, web latency, network congestion

It's important to focus your testing so it puts the load in the right place. For example, load testing firewall or load-balancing infrastructure. You may even choose to load test multiple applications that exist within the same data center at the same time to see if it chokes up for any reason when the load is applied.

Another major point that many testers don't often consider is the fact users are accessing your app from many different regions across different service providers. To get a realistic picture of the actual user experience, it is important to see what their experience looks like from their access points anywhere in the world. This will give you a better understanding of what happens to your web application when users from different parts of the world are flooding your website with traffic.

Prevent a Disaster, Don't Cause One
The ultimate goal of a load test is to replicate the traffic and conditions your app experiences in production as realistically as possible to give you confidence that your site will not fail at peak times with actual live users. By looking at the three major options of where your load should come from, it will give you a better idea of how your app will perform under stress.

No matter what, each of these tests will catch something different in your application. And we all should know by now, if you catch a bug earlier in the process you won't have to pull out the big bucks to fix a major disaster down the road. Prevent a disaster, don't cause one.

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Latest Stories
SYS-CON Events announced today that Golden Gate University will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Since 1901, non-profit Golden Gate University (GGU) has been helping adults achieve their professional goals by providing high quality, practice-based undergraduate and graduate educational programs in law, taxation, business and related professions. Many of its courses are taug...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.
As you move to the cloud, your network should be efficient, secure, and easy to manage. An enterprise adopting a hybrid or public cloud needs systems and tools that provide: Agility: ability to deliver applications and services faster, even in complex hybrid environments Easier manageability: enable reliable connectivity with complete oversight as the data center network evolves Greater efficiency: eliminate wasted effort while reducing errors and optimize asset utilization Security: imple...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, will discuss how by using...
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
SYS-CON Events announced today that CAST Software will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CAST was founded more than 25 years ago to make the invisible visible. Built around the idea that even the best analytics on the market still leave blind spots for technical teams looking to deliver better software and prevent outages, CAST provides the software intelligence that matter ...
SYS-CON Events announced today that Daiya Industry will exhibit at the Japanese Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ruby Development Inc. builds new services in short period of time and provides a continuous support of those services based on Ruby on Rails. For more information, please visit https://github.com/RubyDevInc.
When it comes to cloud computing, the ability to turn massive amounts of compute cores on and off on demand sounds attractive to IT staff, who need to manage peaks and valleys in user activity. With cloud bursting, the majority of the data can stay on premises while tapping into compute from public cloud providers, reducing risk and minimizing need to move large files. In his session at 18th Cloud Expo, Scott Jeschonek, Director of Product Management at Avere Systems, discussed the IT and busine...
As businesses evolve, they need technology that is simple to help them succeed today and flexible enough to help them build for tomorrow. Chrome is fit for the workplace of the future — providing a secure, consistent user experience across a range of devices that can be used anywhere. In her session at 21st Cloud Expo, Vidya Nagarajan, a Senior Product Manager at Google, will take a look at various options as to how ChromeOS can be leveraged to interact with people on the devices, and formats th...
Is advanced scheduling in Kubernetes achievable? Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, will answer these questions and demonstrate techniques for implementing advanced scheduling. For example, using spot instances ...
First generation hyperconverged solutions have taken the data center by storm, rapidly proliferating in pockets everywhere to provide further consolidation of floor space and workloads. These first generation solutions are not without challenges, however. In his session at 21st Cloud Expo, Wes Talbert, a Principal Architect and results-driven enterprise sales leader at NetApp, will discuss how the HCI solution of tomorrow will integrate with the public cloud to deliver a quality hybrid cloud e...
SYS-CON Events announced today that Yuasa System will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Yuasa System is introducing a multi-purpose endurance testing system for flexible displays, OLED devices, flexible substrates, flat cables, and films in smartphones, wearables, automobiles, and healthcare.
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...