Five-Step Performance Tuning
Performance optimization can be completed in five steps, as shown in Table 1.
Number |
Step |
Description |
|---|---|---|
1 |
Set up benchmarks. |
Before performing optimization or monitoring, you need to set up benchmark data and optimization objectives. The benchmarks include hardware configuration, networking, test model and system running data (CPU, memory, I/O, network throughput, response delay and so on). We need to comprehensively evaluate and monitor the system to better analyze system performance bottlenecks and system performance changes after optimization measures are taken. The optimization objectives are the expected system performance objectives based on the current software and hardware architecture. Performance optimization is a long-term process. At the early stage of optimization, bottlenecks can be easily identified and effective optimization measures can be implemented, so obvious optimization results can be achieved. However, the later stage you reach, the optimization is more difficult, the optimization measures are more difficult to find, and the optimization effect is weaker, therefore, it is advised to set up a reasonable balance point. |
2 |
Perform stress test and monitor the system. |
Use the peak workload or professional stress test tool to perform a stress test on the system. Use some performance monitoring tools to observe the system status. During the stress test, it is advised to record the running status of the system and programs in detail. Accurate historical records help analyze bottlenecks and determine whether optimization measures are effective. |
3 |
Identify bottlenecks |
The purpose of stress test and system monitoring is to identify bottlenecks. System bottlenecks occur when there are busy CPUs, I/O wait and network wait. Note that identifying bottlenecks involves analyzing the entire test system, including the test tools, networking between the test tools and the tested system, and network bandwidth. Many "performance crises" are caused by test tools, test networking and other factors that can be easily ignored. Therefore, it is recommended that you first spend some time in checking these factors during performance optimization. |
4 |
Apply optimization |
Once the bottlenecks are identified, they should then be optimized. Note that the system optimization process is not smooth. Not all optimization measures can achieve positive effects. Negative optimization is common. Therefore, when preparing optimization measures, you should prepare the operation guide for rolling back the optimization measures. Avoid wasting a lot of time and energy in restoring the environment due to the implementation of some irreversible optimization measures. |
5 |
Confirm the optimization effects. |
After the optimization measures are taken, restart the stress test, prepare the related tool monitoring system, and confirm the optimization effects. Roll back the measures that have negative optimization effects in a timely manner and adjust the optimization solution. If the optimization effects are positive but the optimization objectives are not achieved, repeat step 2 "Perform stress test and monitor the system." If the optimization objectives are achieved, summarize and archive all effective optimization measures and parameters, and prepare for the subsequent version release of the production system. |
If you have little experience in performance optimization or are not familiar with the software and hardware of the system, you can use the five-step method to gradually optimize the performance. For engineers with rich optimization experience or experts who have in-depth insight into the system performance bottlenecks, other methods or processes can be used for optimization.