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
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
Cloud promises the agility required by today’s digital businesses. As organizations adopt cloud based infrastructures and services, their IT resources become increasingly dynamic and hybrid in nature. Managing these require modern IT operations and tools. In his session at 20th Cloud Expo, Raj Sundaram, Senior Principal Product Manager at CA Technologies, will discuss how to modernize your IT operations in order to proactively manage your hybrid cloud and IT environments. He will be sharing bes...
A look across the tech landscape at the disruptive technologies that are increasing in prominence and speculate as to which will be most impactful for communications – namely, AI and Cloud Computing. In his session at 20th Cloud Expo, Curtis Peterson, VP of Operations at RingCentral, highlighted the current challenges of these transformative technologies and shared strategies for preparing your organization for these changes. This “view from the top” outlined the latest trends and developments i...
Automation is enabling enterprises to design, deploy, and manage more complex, hybrid cloud environments. Yet the people who manage these environments must be trained in and understanding these environments better than ever before. A new era of analytics and cognitive computing is adding intelligence, but also more complexity, to these cloud environments. How smart is your cloud? How smart should it be? In this power panel at 20th Cloud Expo, moderated by Conference Chair Roger Strukhoff, paneli...
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
Hardware virtualization and cloud computing allowed us to increase resource utilization and increase our flexibility to respond to business demand. Docker Containers are the next quantum leap - Are they?! Databases always represented an additional set of challenges unique to running workloads requiring a maximum of I/O, network, CPU resources combined with data locality.
SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...
SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
SYS-CON Events announced today that Datanami has been named “Media Sponsor” of 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. Datanami is a communication channel dedicated to providing insight, analysis and up-to-the-minute information about emerging trends and solutions in Big Data. The publication sheds light on all cutting-edge technologies including networking, storage and applications, and the...
Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
SYS-CON Events announced today that EnterpriseTech has been named “Media Sponsor” of 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. EnterpriseTech is a professional resource for news and intelligence covering the migration of high-end technologies into the enterprise and business-IT industry, with a special focus on high-tech solutions in new product development, workload management, increased effi...
SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of 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. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.
In this presentation, Striim CTO and founder Steve Wilkes will discuss practical strategies for counteracting fraud and cyberattacks by leveraging real-time streaming analytics. In his session at @ThingsExpo, Steve Wilkes, Founder and Chief Technology Officer at Striim, will provide a detailed look into leveraging streaming data management to correlate events in real time, and identify potential breaches across IoT and non-IoT systems throughout the enterprise. Strategies for processing massive ...
"Our strategy is to focus on the hyperscale providers - AWS, Azure, and Google. Over the last year we saw that a lot of developers need to learn how to do their job in the cloud and we see this DevOps movement that we are catering to with our content," stated Alessandro Fasan, Head of Global Sales at Cloud Academy, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.