What is stress testing?

In the context of IT, stress testing is the process of simulating workloads to identify the saturation points for computing resources such as CPU, memory, I/O, and networking. Also referred to as torture testing, it’s used to determine the stability and/or performance of a given system or critical infrastructure. It involves testing beyond normal operational capacity, often to a breaking point. The question has always been how accurate any testing is.  It’s a challenge to accurately model expected behavior, correlate workload profiles to performance, and ensure repeatability of the stress test itself.

 

Benefits of stress testing

Stress testing is often done to:

  • Understand breaking points or safe usage limits
  • Confirm that specifications are being met
  • Determine how a system will fail
  • Help anticipate future budget requirements.

 

Stress testing and lift-and-shift cloud migrations

Stress testing is a useful first step in a lift-and-shift cloud migration to answer such questions as:

  • How do I know which workloads to migrate and which to retain in the data center?
  • How do I choose the best cloud service provider(s) for my applications?
  • How do I simplify analysis and reduce the time to migrate a large number of diverse workloads?
  • How do I select the optimal CPU, memory, network, and storage configuration for each migrated workload rather than simply replicating my on-premises configurations?
  • How do I test cloud workload performance before migrating the workloads?
  • How do I prevent migrated workloads from having unforeseen dependencies back in the data center?
  • How do I determine if migrated workloads are performing adequately and what can I do if they aren’t?

 

Suggested Reading and Related Topics

  • Application workload: Learn more about the different types of application workloads and their characteristics.
  • Lift and shift: Dive deeper into lift and shift cloud migrations, including what it is, pros and cons, and common approaches.