Rate This Document
Findability
Accuracy
Completeness
Readability

Five-Step Performance Tuning

Performance tuning can be completed in five steps, as shown in Table 1.

Table 1 General steps for performance tuning

No.

Step

Description

1

Set up benchmarks.

Before performing tuning or monitoring, you need to set up benchmark data and tuning 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 tuning measures are taken. The tuning objectives are the expected system performance objectives based on the current software and hardware architecture. Performance tuning is a long-term process. At the early stage of tuning, bottlenecks can be easily identified and effective tuning measures can be implemented, so obvious results can be achieved. However, the later stage you reach, the more difficult it is, the tuning measures are more difficult to find, and the tuning 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 tuning 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 tuning.

4

Perform tuning measures.

Once the bottlenecks are identified, they should then be optimized. This article summarizes the common system bottlenecks that the author's team encountered in the projects and tuning measures. Note that the system tuning process is not smooth. Not all tuning measures can achieve positive effects. Negative tuning is common. Therefore, when preparing tuning measures, you should prepare the operation guide for rolling back the tuning measures. Avoid wasting a lot of time and energy in restoring the environment due to the implementation of some irreversible tuning measures.

5

Confirm the tuning effects.

After the tuning measures are taken, restart the stress test, prepare the related tool monitoring system, and confirm the tuning effects. Roll back the measures that have negative tuning effects in a timely manner and adjust the tuning solution. If the tuning effects are positive but the tuning objectives are not achieved, repeat step 2 "Perform stress test and monitor the system." If the tuning objectives are achieved, summarize and archive all effective tuning measures and parameters, and prepare for the subsequent version release of the production system.

If you have little experience in performance tuning 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 tuning experience or experts who have in-depth insight into the system performance bottlenecks, other methods or processes can be used for tuning.

This document describes the common performance tuning methods and analysis tools of the Kunpeng chip. This document describes common performance tuning methods and analysis tools from the aspects of CPU and memory subsystem, network subsystem, drive I/O subsystem, and application program tuning. This document is intended for R&D engineers and technical support engineers who perform performance tuning.