Load testing in the cloud
Load testing is the simplest form of performance testing. It helps you determine the ability of your apps to handle a certain number of users (load) on your cloud application. To do load tests, you need to understand what tools you can use, how to set up virtual scenarios, and how to analyze load testing results.
Using Load Impact or BlazeMeter third-party load testing services in IBM Bluemix PaaS
IBM Bluemix PaaS has services to assist you in characterizing how an application responds under a simulated user load. These tests provide insights on performance and can also show whether horizontal scaling is responding when the application is under stress.
Creating user scenarios
A virtual user scenario corresponds to a set of actions in the application and can be captured interactively or defined in a script language of the specific load testing tool. These should be based on a typical use case of a user who accesses the application.
Defining virtual user load for a test
You can focus the virtual user load that runs against an application so that you can investigate different issues with performance:
- Response time for the application for a specific number of active users
- Peak scalability of an application
For this type of test, the user workload is ramped to a steady state and then held for a period of time to gather response time statistics.
In this test, the workload is increased in gradual steps and held constant, or a series of test are performed each with a higher number of simulated users. A key metric such as the performance of a page such as user login or catalog display is monitored to ensure that it does not exceed required levels.
Analyzing results from load tests
When a load test completes, you can use tools to review graphical and tabular output of the information. Graphs from load testing will show metrics such as response time and the number of simulated users, which is graphed as a function of time into the load test.
When you review the results, it is critical to verify that all application responses are successful and not showing error codes. An application generating HTTP 404 or 500 errors might seem to show quick response times, but it is not operating correctly.