All Products
Search
Document Center

Well-Architected Framework:Performance Monitoring Objects

Last Updated:Sep 25, 2023

What is performance monitoring and what are the objects of performance monitoring.

Performance degradation can occur at any time due to factors such as sudden traffic surges, system changes, or code decay. For instance, request timeouts may occur due to a sudden increase in visits during annual anniversary sales, leading to failed orders; frequent page lag after the release of an app update can lead to increased user complaints; a system running online for a period of time may suddenly experience Out Of Memory (OOM) or refuse access due to full connections.

The most intuitive effect of performance degradation is on user experience. If the time to open a product details page increases from 0.5s to 3s, users' willingness to continue browsing will drop significantly. Further performance degradation to timeout thresholds (e.g., 5s) can prevent normal service provision, affect service availability, and even lead to considerable business losses or a collapse in reputation. Therefore, performance degradation can not only damage user experience or service availability but also determine the success or failure of a business.

The best practice in preventing and mitigating performance degradation follows the principle of "prevention-first, combined prevention and cure". Once performance degradation occurs, it will inevitably affect user experience or business data. Therefore, performance optimization should, as far as possible, be completed in advance in stages such as architectural design, code writing, and testing verification to evade common performance issues. Moreover, the ability to swiftly identify performance risks, locate performance bottlenecks rapidly, and resolve them in a timely manner when performance degradation occurs is crucial.

Whether it is preemptive or remedial, an accurate and real-time performance monitoring system is required to help business teams accurately and quickly identify performance bottlenecks and impacts, and take targeted next steps. The more complex and sizable the IT system is, the more necessary it is to establish a comprehensive and user-friendly performance monitoring system, intervening early and locating quickly to minimize harm.

Performance monitoring refers to monitoring and recording a software, hardware, or system’s performance indicators during its runtime for the purpose of analysis and optimization of system performance. By collecting and analyzing performance data, system bottlenecks can be identified, resource allocation optimized, and system reliability and stability improved. Performance monitoring typically includes monitoring system resources such as CPU, memory, disk, network, as well as monitoring applications, for instance, response time, throughput, concurrency, etc.

Performance Monitoring Objects

The objects of performance monitoring include computer systems, networks, applications, etc. They are mainly divided into the following types:

  1. Servers: Including physical servers and virtual servers. Monitor server resources usage such as CPU, memory, disk, network, etc.

  2. Operating Systems: Monitor the running status, processes, services, file systems of the operating system, etc.

  3. Databases: Monitor database connection numbers, query response time, transaction processing, etc.

  4. Applications: Including Web applications, mobile App, distributed microservices applications, etc. Monitor application response time, throughput, concurrency, etc.

  5. Network Devices: Including routers, switches, firewalls, etc. Monitor their network traffic, bandwidth, latency indicators.

  6. Cloud Services: Including cloud middleware, cloud databases, etc. Monitor their resource usage, network latency, etc.

By monitoring these objects’ performance, issues can be identified promptly, improving the performance and availability of systems.