Tuning Strategy
Performance tuning begins with identifying issues, followed by pinpointing bottlenecks, and then selecting appropriate optimization methods based on the affected layer.
The tuning analysis s workflow is as follows:
- For server-side problems, focus on the key hardware metrics, including CPU, memory, drive, and BIOS configurations. For read/write test cases, prioritize the I/O performance of the drive and network. For compute-intensive applications, such as BulkLoad, focus on the CPU bottlenecks.
- For network problems, binding NIC interrupts to cores may greatly improve the performance.
Bottleneck |
Description |
|---|---|
Hardware/Specifications |
Problems of the CPU, memory, and drive I/O. The problems are classified into server hardware 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 the Java Database Connectivity (JDBC) connection pool parameters on the WebLogic platform are improperly configured. |
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 |
Potential code optimization opportunities identified by conducting hotspot analysis using perf. |
Applications |
Bottlenecks related to applications. For example, system performance degrades under heavy traffic due to improper JVM parameters, misconfigured containers, slow SQL queries (which can be pinpointed using APM tools like ARMS provided by Alibaba Cloud), poor database design, flawed architecture, or defective program logic (serial processing, thread starvation, lack of buffering or caching, and producer-consumer imbalances). |
OS |
Problems related to OSs, such as Windows, UNIX, or Linux. For example, during performance testing, if physical memory is exhausted and virtual memory is misconfigured, swap efficiency drops drastically. This sharply increases the response time, indicating an OS-level performance bottleneck. |
Network devices |
Problems related to devices such as firewalls, dynamic load balancers, and switches. Modern cloud architectures increasingly rely on network access products, including but not limited to the Server Load Balancer (SLB), Web Application Firewall (WAF), Anti-DDoS IP, Content Delivery Network (CDN), and Whole Site Acceleration (WSA). For example, a dynamic load balancer is configured to dynamically distribute traffic: when hardware resources on a specific application server reach their limits, the dynamic load balancer routes subsequent transaction requests to other less-loaded servers. If performance testing reveals that the load balancer fails to redirect traffic as expected, the issue is classified as a network-level bottleneck. |
Figure 1 shows the tuning process.
