Tuning Strategy
To tune performance, you need to identify problems, locate performance bottlenecks, and select a tuning method based on the bottleneck level.
The tuning analysis process is as follows:
- For server problems, focus on the CPU, memory, and drive indicators, and BIOS settings. For read and write test cases, focus on the I/O performance of the drive and network. For compute-intensive applications, such as BulkLoad, focus on the CPU bottleneck.
- For network problems, binding NIC interrupts to cores may greatly improve the performance.
Bottleneck |
Description |
|---|---|
Hardware/Specifications |
Hardware bottlenecks including CPU, memory, and drive I/O bottlenecks and network bottlenecks (network bottlenecks can be ignored in a LAN) |
Middleware |
Problems of software such as application servers and web servers, and database systems. For example, a bottleneck may occur if parameters of the Java Database Connectivity (JDBC) connection pool configured on the WebLogic platform are set improperly. |
Front-end latency and back-end execution |
Front-end latency bottlenecks, bandwidth bottlenecks, back-end execution bottlenecks, and memory bottlenecks that can be detected through top-down analysis |
Hotspot functions |
Hotspot functions that can be analyzed with perf to seek available code optimizations |
Applications |
Bottlenecks related to applications. For example, the following problems may cause low system performance when there are a large number of user requests: improper Java Virtual Machine (JVM) parameter settings, improper container settings, slow SQL statements (Application Real-Time Monitoring Service by Alibaba Cloud can help with locating), improper database design, improper program architecture planning, and improper program design (insufficient threads for serial processing and request processing, no buffer, no cache, and incoordination between producers and consumers). |
OS |
Problems related to operating systems, such as Windows, UNIX, or Linux. For example, if the physical memory capacity is insufficient and the virtual memory capacity setting is improper during a performance test, the virtual memory swap efficiency may be greatly reduced. As a result, the response time is increased causing a bottleneck that is considered an OS bottleneck. |
Network devices |
Problems related to devices such as firewalls, dynamic load balancers, and switches. Cloud service architecture is using more network access products, including but not limited to the SLB, WAF, High Defense IP, CDN, and site acceleration. For example, if a dynamic load distribution mechanism is set on the dynamic load balancer, the dynamic load balancer automatically sends subsequent transaction requests to low-load servers when the hardware resource usage of a server reaches the limit. If the dynamic load balancer does not function as expected in the test, the problem is a network bottleneck. |
Figure 1 shows the tuning process.
