Andrew Fletcher published: 16 July 2020 (updated) 29 March 2021 2 minutes read
Load testing verifies the system performance under the expected peak load. The peak load needs to set by a series of parameters that you have benchmarked targets. For example, these parameters could include:
Load testing:
- 20,000 concurrent users; and
- response time of under 4 seconds
Stress testing:
- Verifies the server performance under extreme load. Test this through examining how many users are required to bring your server
Endurance testing:
Load test over an extended period of time
Check with your hosting provider
Before you begin to performance test - check with your hosting provider if their infrastructure allows for performance testing. In some environments, hosting providers won't allow for performance testing even on dedicated server.
Action plan:
Step 1:
- Complete your benchmarking documentation. Unless you have something to target what is the point
- Infrastructure monitoring and profiling to identify bottlenecks and potential failures
- Out of resources (bandwidth, memory, CPU, database)
- Configuration including server and code (such as Apache and PHP)
Step 2: Tool selection
- Protocol
- CURL request
- Note the testing doesn't load like a regular person forgoing images and AJAX requests
- Open source tools - JMeter, Locust, Gatling
- SAAS - BlazeMeter, Flood.io
- CURL request
- Browser
- Load the full page - there including images, AJAX requests. This is important if your site uses client side requests. However, concurrency is limited
- Open source tools - Selenium
Step 3: Script creation
- Language type - javascript, python, etc
- Scripts can be
- Simple: visit home page, search page or content pages
- Complex - Login as a user
Step 4: Monitor performance
- Number of users. Start low and ramp up. For example, begin with 100 and ramp up to 5000. If this is an initial test, then have lower presets.
- Trace response time in real life. Check how many users against time.
- Look at the apache and memory performance
- Check the logs