Chapter 13. Heavy Load Testing Guide

Table of Contents

Introduction
NeoLoad Scenarios
Minimize the Number of Validations
Avoid Validations and Extractions on Bulky Inputs
Optimize Regular Expressions
Optimize Extractions from XML Responses
Avoid Multiplication of Virtual Users
Minimize the Use of JavaScript Actions
NeoLoad Controller
Launch Scenarios with a Fixed Duration
Monitor Using a Top-down Approach
Avoid Debug Mode
Warm Up Your Application Server
Plan for Large Amounts of Memory for the NeoLoad Controller
Reduce Error Management
Save your Projects Locally
Adapt the Controller/Load Generator Time Limit to Your Specific Project Requirements
NeoLoad Load Generators
Allocate Sufficient Memory to the Machines Hosting Controllers and Load Generators
Make Sure the Machines Running the Generators are Adequately Dimensioned
Caution when using virtual environments
Network Tuning and Configuration
Increase the Number of Simultaneously Opened Sockets
Use Several Network Cards for Load Generators
Distribute NeoLoad Communication Channels Over Different Networks
Prefer a "Server" Tagged Operating System for your Application Servers

Introduction

NeoLoad assists you in building quality Web applications that offer high performance and scalability and that are far more likely to be used and appreciated than applications that are buggy and slow. However, building even the best software still requires that your application be tested under heavy loads (regardless of the specific goals you are pursuing for your application - load tests or stress tests). A heavy load is generally considered as simulating more than 1,000 users.

The following sections cover the best practices and recommendations for simulating heavy loads on the application being load tested. Heavy load testing means that you will be putting stress on your testing environment, so the load level attainable depends on how capable and how well tuned your testing environment is. Obviously, the testing environment includes NeoLoad, but it also includes network and other resources such as memory and CPU. The better your testing environment and tools are optimized, the heavier the load you will be able to simulate.

Most importantly, keep in mind that testing your application under a heavy load only makes sense if all basic scenarios are effective and your application works under a "normal" load, or at least a light load.

The main tuning and configuration points involved in improving your testing environment's capacity are divided into the four following topics: NeoLoad scenarios, NeoLoad load generators, the NeoLoad controller and finally the network.

The first two sections (NeoLoad scenarios and NeoLoad load generators) include best practices and guidance that mostly refer to elements of NeoLoad's internal configuration. The latter two on the other hand, pertain more to environment elements.