Habilite la escala en lado de recepción de NetQ para habilitar la descarga de solicitudes de vNIC en una NIC física. Mejora el rendimiento de los paquetes de los datos del lado de recepción.

Cuando una tarjeta NIC física envía paquetes a un host, la pila de red mejorada (ENS), que se ejecuta mientras el conmutador de host está configurado en el modo Ruta de datos mejorada, distribuye datos en ese host entre diferentes núcleos lógicos en nodos NUMA. Existen un par de formas de configurar los motores RSS.

Como administrador de red que desea mejorar el rendimiento de los paquetes de datos del lado de recepción, debe considerar una de estas formas de configurar RSS para aprovechar las ventajas.
Estos dos modos son:
  • El motor RSS está dedicado a una sola cola de vNIC: un motor RSS dedicado descarga por completo cualquier solicitud procedente de una vNIC a la NIC física. En este modo, un solo motor RSS se dedica a una sola cola de vNIC. Mejora el rendimiento de la capacidad de proceso, ya que la pNIC administra los datos del lado de recepción y los comparte entre las colas de hardware disponibles para atender la solicitud. Las colas de vNIC se encuentran en el mismo núcleo lógico o fastpath que las colas de pNIC.
  • Varias colas de vNIC comparten el motor RSS: en este modo, se ponen a disposición varias colas de hardware para las colas de vNIC. Sin embargo, es posible que los flujos de control de vNIC no estén alineados con la cola de hardware físico que procesará los datos. Esto significa que no hay garantías de que la vNIC y las NIC físicas se alineen.
Nota: Si la escala en el lado de recepción de cola predeterminada (DRSS) está habilitada en la tarjeta NIC, desactívela.

Requisitos previos

  • Los hosts deben ejecutar ESXi versión 7 actualización 3 o posterior.
  • Asegúrese de que la tarjeta NIC admita la funcionalidad RSS.
  • Controladores compatibles: Intel40en (controlador asincrónico). Consulte la documentación del controlador para confirmar si tiene una implementación de RSS compatible con ENS.

Procedimiento

  1. Para habilitar NetQ/RSS, esxcli system module parameters set -m -i40en_ens -p DRSS=0,0 RSS=1,0.

    Donde DRSS=0,0 indica que DRSS está desactivado en ambos puertos NIC.

    RSS=1,0 indica que NetQ RSS está habilitado en uno de los puertos de NIC.

  2. Para descargar el controlador, ejecute vmkload_mod -u i40en_ens.
  3. Para volver a cargar el controlador para que se aplique la configuración RSS, ejecute vmkload_mod i40en_ens.
  4. Detenga el administrador de dispositivos para activar la conexión rápida PCI, de modo que pueda escanear dispositivos y asociar el controlador con una NIC.

    Ejecute kill -HUP 'ps | grep mgr | awk '{print $1}'.

  5. Para configurar que varios motores RSS estén disponibles para atender solicitudes RSS de vNIC, configure estos parámetros en el archivo .vmx de la máquina virtual.

    ethernet.pnicfeatures = '4', que indica que las vNIC solicitan la función RSS.

    ethernet.ctxPerDev = '3', que indica que varios contextos (varios núcleos lógicos) están habilitados para procesar cada vNIC. Las máquinas virtuales conectadas al conmutador vSphere están configuradas para varias colas. Esto significa que varios núcleos lógicos de un nodo NUMA pueden procesar el tráfico de Tx y Rx procedente de las vNIC.

    Cuando varias vNIC solicitan la descarga de RSS, la pila de red mejorada (ENS) no descarga sus solicitudes RSS en la pNIC, sino que el motor RSS compartido procesa sus solicitudes. Para RSS compartido, hay varias colas RSS disponibles, pero la ubicación conjunta de una cola de vNIC o una cola de pNIC no se almacena.

  6. Para configurar un motor RSS dedicado para procesar solicitudes de una vNIC, configure estos parámetros en el archivo .vmx de la máquina virtual.

    ethernet.rssoffload=True,

    Con la configuración anterior habilitada, las solicitudes RSS de una vNIC se descargan en la NIC física. Solo una vNIC puede descargar sus solicitudes en un motor RSS. En este modo, las colas de vNIC se alinean con las colas de pNIC.

  7. Compruebe que el flujo de paquetes se distribuya en las colas de hardware proporcionadas por el motor RSS.

    Ejecute los siguientes comandos.

    vsish

    get /net/pNics/vmnicX/stats

    Resultados de muestra:

    rxq0: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq1: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq2: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq3: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq4: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq5: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq6: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    rxq7: pkts=0 bytes=0 toFill=2047 toProc=0 noBuf=0 csumErr=0
    txq0: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq1: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq2: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq3: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq4: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq5: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq6: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0
    txq7: pkts=0 bytes=0 toFill=0 toProc=0 dropped=0