by Jay Lee
Before launching any service, developers must first run a system-wide performance test.
The test will diagnose the performance level and stress points of the system.
Various methods can be used to reveal locations likely to cause a bottleneck.
The following is a list of open-source tools popularly used to run performance tests.
The choice of tool isn’t critical, as there are unlikely to be any significant differences among them. You can therefore choose the tool you are most comfortable with.
Keep in mind, however, that each tool has its unique pros and cons; you will therefore need to choose the tool that is best for the software(and your operating system) you will be diagnosing.
A Performance Test is carried out in these 5 steps.
- Requirement Gathering
- Test Strategy
- Test Design
- Test Execution
- Reporting and Recommendation
Among the 5 steps, I think the Test Strategy/Design is most important.
If you run a particular test multiple times under the same conditions and receive varying results, you may need to modify the conditions.
A condition needing a modification indicates a possible fault in design, which could suggest errors in the test strategy.
Therefore, you need to design a condition so that testing leads to consistent results in standard scenarios.
The following is the list of topics you need to consider at the Test Strategy and Test Design steps.
- A system under a normal condition
- Test performance of all the functions under normal traffic.
- Compare the performance against an already existing system (benchmarking).
- System overload
- Deliberately cause several types of overloads to diagnose the maximum performance of the system.
- Map the bottlenecking locations.
- Mark any abnormal activities under overload.
- System under duress
- Impose a longterm overload and find out how the system utilizes the H/W resource.
- Check the Graceful Shutdown.
- Confirm Failover, Auto Recovery.
- Find system outliers.
While these methods are generally used in performance testing you must not use them ubiquitously.
In fact, sometimes the best way to test a web browser is to press the F5 key incessantly!
It is important to have a firm understanding of your system, as that will naturally answer the question of why and how you should run tests, and which tests to use.