canonical / hotsos

Software analysis toolkit. Define checks in high-level language and leverage library to perform analysis of common Cloud applications.
Apache License 2.0
33 stars 38 forks source link

Report the number of hardware queues for network interfaces #988

Open lathiat opened 1 week ago

lathiat commented 1 week ago

In various cases, a network interface may only have a single hardware queue.

While this is not a problem in itself, if you are researching low network performance or dropped packets its a likely contributor. We should surface this as a "note" (but not an error). e.g. interface X has a single hardware queue, this may limit network performance or caused dropped packets during traffic bursts.

Places that will report this (may be more):

  1. /sys/class/net/INTERFACE/queues/{rx,tx}-*/
  2. $ grep enp6s0 /proc/interrupts 
    enp6s0-rx-0
    enp6s0-tx-0
    enp6s0-err
    enp6s0-notify
  3. ethtool

You will have a file for each hardware queue, e.g. rx-0, rx-1, rx-2

Also related is that you can improve this by setting the mask in /sys/class/net/IFACE/rx-*/{rps,xps}_cpus - we should perhaps surface the current value of that as well.

lathiat commented 1 week ago

cc @brianphaley