The bandwidth limit for the VM is only 3Mbps. However, we noticed spikes in the network interface usage which are above the limit set. What causes this and how can I resolve it?
In some cases, the incorrect network usage graph may be caused by the incorrect statistic data collection. It is recommended to create the support request to investigate the reasons.
However, there are cases where the over limit usage spikes may appear on clouds with the correctly working stats collector.
Network usage data for a certain VM is collected by reading TX/RX counters on the VM's NIC. Bandwidth shaping is performed by the kernel on the HV host. That is why the outgoing packets are passed through and counted on VM's NIC even if they are dropped later by the HV host.
For example: let's assume there is some software on the VM, which produces a lot of UDP traffic. It can flood network uplink without the need to control whether the data reached the destination (typical malware behavior) Network usage will appear much above the limit, but in fact, all above limit will never be passed to the HV host uplink.