Why does a hypervisor or a host report high CPU utilization of Avi Service Engine?

Answer

A hypervisor or a host reports high CPU utilization due to the following reasons:

  • A hypervisor’s monitoring tools or a virtual machine orchestrator such as VMware’s vCenter may report CPU utilization greater than 50% for an Avi Service Engine (SE), while the Avi user interface reports significantly lower utilization for the same SE.

  • This is also the case when the Service Engines are hosted on a bare-metal host as containers (Avi Vantage integration with Linux server cloud), and the host CPU is monitored.

  • If the authorized user connects to the Service Engine and runs a CPU utilization monitoring tool such as top or htop, the same behaviour may be observed.

Rationale for this Behaviour

To minimize latency, the se_dp processes running on an SE listen in a polling mode for packets. These processes consume CPU cycles whether they are sitting idle or busy processing packets.

The Avi user interface accurately shows the useful CPU available for processing and should be used as the source of proof for validating available CPU for an Avi SE.

As a best practice, utilization of an SE’s CPU (as reported in the Avi user interface) should not exceed 95%. The SE will likely be adding latency to network traffic when CPU is running at very high levels.

View CPU Utilization

To check the effective CPU utilization of an SE:

  • Login to the Avi UI, and navigate to Infrastructure > Service Engine.

select-se

  • Select the desired SE from the SE list, select the CPU Usage option from the Service Engine Metrics list to check the CPU utilization.

cpu-usage

SE Group Autoscaling

SE group autoscaling functionality allows the Avi Controller to automatically create additional SEs to handle the increased load. The autoscaling decision is based on the CPU utilization of the SEs. The CPU measurement for this scaling is based on the CPU as reported by the Avi UI, not through the top command or the hypervisor.

For more insight into how the CPU metric is incorporated into the scaling decision logic, refer to Autoscale Service Engine.