Using the Anturis Console, you can set up monitoring of CPU load for any hardware component (a server computer) in your infrastructure by adding the CPU Load monitor to the component.
The central processing unit (CPU) is the hardware that performs arithmetical, logical, and input/output (I/O) operations. The two former types of operations are performed by the arithmetic logic unit (ALU), while the latter are carried out by the control unit (CU), which reads instructions from the main memory and writes the result back. The speed at which a CPU executes instructions is called the clock rate. Most computers today have either multiple CPUs or CPUs with multiple cores (multicore processors). These can execute operations in parallel.
The CPU is always either executing operations (busy), or waiting for input (idle). Each CPU and each core can execute one operation at a time. While one operation is executing, others are placed into a queue. CPU load (also known as system load) is defined as the average number of processes in this queue over a sample period of time. This metric can be used together with CPU usage, which is defined as the percentage of time that the CPU is busy.
In most cases, while CPU usage is below 100% for a certain period, CPU load will remain less than one for that period, because idle time means that there are no processes waiting in the queue. However, on Linux, processes waiting for disk activity are also included in the system load measurement. In this case, when the processor is not calculating anything, processes can still remain queued while write or read operations are performed. This can be misleading, and you have to be aware that on Linux, there can be a long queue of processes, even if CPU usage remains below 100% most of the time.
If client requests to your server are placed in a queue, this will lead to increased response time for clients, which may be critical to your business. As previously noted, in case of a Linux server, if it performs a large number of I/O operations in a distant part of the world with high latency, this can create a queue for other operations, that do not in themselves require a long time to be executed by the CPU, but are forced to wait, leading to severe performance issues. This can be a sign that you need to divide the different types of workloads between different servers.
Monitoring CPU load can help you analyse the workloads performed by your server and understand what can be done. As a general rule, you want the CPU usage to be as high as possible (for maximum efficiency), but keep the CPU load below one (for minimum delays). This requires analysis of the average and peak values for CPU usage and the CPU load. You have to arrive at a sound judgement of these measurements based on the monitoring data, in order to ensure a high level of performance.
©2017 Anturis Inc. All Rights Reserved.