When to enable RSS Recieve side scaling

Mishaua 741 Reputation points
2022-02-25T00:26:46.85+00:00

Since Virtio-Net Multi-Queue is not enabled by default in KVM like it is in VMware via Netqueue, what are the best benchmarks or performance collectors to use to determine if adding extra queues for RSS (receive side scaling) will be beneficial?

Windows for business Windows Client for IT Pros Networking Network connectivity and file sharing
Windows for business Windows Server User experience Other
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Limitless Technology 44,746 Reputation points
    2022-02-28T15:21:33.14+00:00

    Hello @Mishaua

    RSS can improve network system performance by reducing:

    Processing delays by distributing receive processing from a NIC across multiple CPUs.

    This helps to ensure that no CPU is heavily loaded while another CPU is idle.

    Spin lock overhead by increasing the probability that software algorithms that share data execute on the same CPU.

    Spin lock overhead occurs, for example, when a function executing on CPU0 possesses a spin lock on data that a function running on CPU1 must access. CPU1 spins (waits) until CPU0 releases the lock.

    Reloading of caches and other resources by increasing the probability that software algorithms that share data execute on the same CPU.

    Such reloading occurs, for example, when a function that is executing and accessing shared data on CPU0, executes on CPU1 in a subsequent interrupt.

    Source: https://learn.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling

    Hope this helps with your query,

    --
    --If the reply is helpful, please Upvote and Accept as answer--

    0 comments No comments

  2. Mishaua 741 Reputation points
    2022-03-01T19:52:49.45+00:00

    Hello @Limitless Technology

    Thanks for the info. I was just curious if anyone had any suggestions on what to look for in Perfmon maybe? I know there is "Per Processor Network Interface Card Activity\ Low Resource Received Indications/sec , Low Resource Received Packets/sec" collectors. Is that the best one or are there others that can be used to make an educated decision on whether to increase queues or not? The most obvious thing I have seen is on a system managing video streams and recording them to iscsi drives. With RSS disabled the cpu just gets hammered to the point of unusability. I am just curious how I would tell if a system hasn't reached some critical contention point but could still benefit from multiple queues.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.