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.