NetScaler VPX

Optimice el rendimiento de NetScaler VPX en VMware ESX, Linux KVM y Citrix Hypervisors

El rendimiento de NetScaler VPX varía considerablemente según el hipervisor, los recursos del sistema asignados y las configuraciones del host. Para lograr el rendimiento deseado, primero siga las recomendaciones de la hoja de datos de VPX y, a continuación, optimice aún más mediante las prácticas recomendadas que se proporcionan en este documento.

Instancia de NetScaler VPX en hipervisores VMware ESX

Esta sección contiene detalles sobre las opciones y ajustes configurables y otras sugerencias que le ayudarán a lograr un rendimiento óptimo de la instancia de NetScaler VPX en los hipervisores VMware ESX.

Configuración recomendada en hosts ESX

Para lograr un alto rendimiento para VPX con interfaces de red de paso E1000, VMXNET3, SR-IOV y PCI, siga estas recomendaciones:

  • El número total de CPU virtuales (vCPU) aprovisionadas en el host ESX debe ser inferior o igual al número total de CPU físicas (PCPU) del host ESX.
  • La afinidad de acceso a memoria no uniforme (NUMA) y la afinidad de CPU deben configurarse para que el host ESX obtenga buenos resultados.

    — Para encontrar la afinidad NUMA de un Vmnic, inicie sesión en el host de forma local o remota y escriba:

       #vsish -e get /net/pNics/vmnic7/properties | grep NUMA
       Device NUMA Node: 0
     <!--NeedCopy-->
    

NetScaler VPX con interfaces de red E1000

Realice la siguiente configuración en el host de VMware ESX:

  • En el host VMware ESX, cree dos vNIC a partir de un conmutador vNIC. Varias vNIC crean varios subprocesos de recepción (Rx) en el host ESX. Esto aumenta el rendimiento de Rx de la interfaz pNIC.
  • Habilite las VLAN en el nivel de grupo de puertos de vSwitch para cada vNIC que haya creado.
  • Para aumentar el rendimiento de transmisión de vNIC (Tx), utilice un subproceso Tx independiente en el host ESX por vNIC. Utilice los siguientes comandos de ESX:
    • Para la versión 5.5 de ESX:

         esxcli system settings advanced set –o /Net/NetTxWorldlet –i
       <!--NeedCopy-->
      
    • Para la versión 6.0 de ESX en adelante:

         esxcli system settings advanced set -o /Net/NetVMTxType –i 1
       <!--NeedCopy-->
      
  • Para aumentar aún más el rendimiento de vNIC Tx, utilice un subproceso de finalización Tx y una cola de subprocesos Rx por dispositivo (NIC) independientes. Utilice los siguientes comandos de ESX:

       esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0
     <!--NeedCopy-->
    

Nota:

Asegúrese de reiniciar el host de VMware ESX para aplicar la configuración actualizada.

Dos vNIC por implementación de pNIC

A continuación se muestra un ejemplo de comandos de topología y configuración para el modelo de implementación Dos vNIC por pNIC que ofrece un mejor rendimiento de la red.

Dos vNIC por implementación de pNIC

Ejemplo de configuración de NetScaler VPX:

Para lograr la implementación que se muestra en la topología de ejemplo anterior, realice la siguiente configuración en la instancia de NetScaler VPX:

  • En el lado del cliente, vincule el SNIP (1.1.1.2) a la interfaz de red 1/1 y habilite el modo de etiqueta VLAN.

       bind vlan 2 -ifnum 1/1 –tagged
       bind vlan 2 -IPAddress 1.1.1.2 255.255.255.0
     <!--NeedCopy-->
    
  • En el lado del servidor, vincule el SNIP (2.2.2.2) a la interfaz de red 1/1 y habilite el modo de etiqueta VLAN.

       bind vlan 3 -ifnum 1/2 –tagged
       bind vlan 3 -IPAddress 2.2.2.2 255.255.255.0
     <!--NeedCopy-->
    
  • Agregar un servidor virtual HTTP (1.1.1.100) y vincularlo a un servicio (2.2.2.100).

       add lb vserver v1 HTTP 1.1.1.100 80 -persistenceType NONE -Listenpolicy None -cltTimeout 180
       add service s1 2.2.2.100 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp ON -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
       bind lb vserver v1 s1
     <!--NeedCopy-->
    

Nota:

Asegúrese de incluir las dos entradas siguientes en la tabla de rutas:

  • subred 1.1.1.0/24 con puerta de enlace apuntando a SNIP 1.1.1.2
  • Subred 2.2.2.0/24 con puerta de enlace que apunta a SNIP 2.2.2.2

NetScaler VPX con interfaces de red VMXNET3

Para lograr un alto rendimiento para VPX con interfaces de red VMXNET3, realice la siguiente configuración en el host VMware ESX:

  • Cree dos vNIC a partir de un vSwitch pNIC. Varias vNIC crean varios subprocesos Rx en el host ESX. Esto aumenta el rendimiento de Rx de la interfaz pNIC.
  • Habilite las VLAN en el nivel de grupo de puertos de vSwitch para cada vNIC que haya creado.
  • Para aumentar el rendimiento de transmisión de vNIC (Tx), utilice un subproceso Tx independiente en el host ESX por vNIC. Utilice el siguiente comando de ESX:
    • Para la versión 5.5 de ESX:
       esxcli system settings advanced set –o /Net/NetTxWorldlet –i
     <!--NeedCopy-->
    
    • Para la versión 6.0 de ESX en adelante:
        esxcli system settings advanced set -o /Net/NetVMTxType –i 1
      <!--NeedCopy-->
    

En el host de VMware ESX, realice la siguiente configuración:

  • En el host VMware ESX, cree dos vNIC a partir de 1 vSwitch pNIC. Varias vNIC crean varios subprocesos Tx y Rx en el host ESX. Esto aumenta el rendimiento Tx y Rx de la interfaz pNIC.
  • Habilite las VLAN en el nivel de grupo de puertos de vSwitch para cada vNIC que haya creado.
  • Para aumentar el rendimiento de Tx de una vNIC, utilice un subproceso de finalización Tx y una cola de subprocesos Rx por dispositivo (NIC) independientes. Utilice el siguiente comando:

       esxcli system settings advanced set -o /Net/NetNetqRxQueueFeatPairEnable -i 0
     <!--NeedCopy-->
    
  • Configure una máquina virtual para que use un subproceso de transmisión por vNIC, agregando la siguiente configuración a la configuración de la máquina virtual:

       ethernetX.ctxPerDev = "1"
     <!--NeedCopy-->
    
  • Para configurar una máquina virtual para que utilice hasta 8 subprocesos de transmisión por vNIC, agregue la siguiente configuración a la configuración de la máquina virtual:

       ethernetX.ctxPerDev = "3"
     <!--NeedCopy-->
    

    Nota:

    El aumento de los subprocesos de transmisión por vNIC requiere más recursos de CPU (hasta 8) en el host ESX. Asegúrese de que haya suficientes recursos de CPU disponibles antes de realizar la configuración anterior.

Nota:

Asegúrese de reiniciar el host de VMware ESX para aplicar la configuración actualizada.

Puede configurar VMXNET3 como dos vNIC por implementación de PNIC . Para obtener más información, consulte Dos vNIC por implementación de PNIC.

Configure la compatibilidad con múltiples colas y RSS en VMware ESX para dispositivos VMXNET3

De forma predeterminada, el dispositivo VMXNET3 solo admite 8 colas Rx y Tx. Cuando el número de vCPU en el VPX supera los 8, el número de colas Rx y Tx configuradas para una interfaz VMXNET3 cambia a 1 de forma predeterminada. Puede configurar hasta 19 colas Rx y Tx para dispositivos VMXNET3 cambiando determinadas configuraciones en ESX. Esta opción aumenta el rendimiento y la distribución uniforme de los paquetes entre las CPU virtuales de la instancia VPX.

Nota:

A partir de la versión 13.1, compilación 48.x de NetScaler, NetScaler VPX admite hasta 19 colas Rx y Tx en dispositivos ESX para VMXNET3.

Requisitos previos:

Para configurar hasta 19 colas Rx y Tx en ESX para dispositivos VMXNET3, asegúrese de que se cumplen los siguientes requisitos previos:

  • La versión de NetScaler VPX es 13.1, compilación 48.X y posterior.
  • NetScaler VPX se configura con una máquina virtual de hardware de versión 17 o posterior, que es compatible con VMware ESX 7.0 y versiones posteriores.

Configure las interfaces VMXNET3 para que admitan más de 8 colas Rx y Tx:

  1. Abra el archivo de configuración de la máquina virtual (.vmx).
  2. Especifique el número de colas Rx y TX configurando ethernetX.maxRxQueues los valores ethernetX.maxTxQueues y (donde X es el número de NIC virtuales que se van a configurar). La cantidad máxima de colas configuradas no debe ser superior a la cantidad de CPU virtuales de la máquina virtual.

    Nota:

    El aumento del número de colas también aumenta la sobrecarga del procesador en el host ESX. Por lo tanto, asegúrese de que haya suficientes recursos de CPU disponibles en el host ESX antes de aumentar las colas. Puede aumentar el número máximo de colas admitidas en situaciones en las que el número de colas se identifique como un obstáculo para el rendimiento. En estas situaciones, recomendamos aumentar el número de colas de forma gradual. Por ejemplo, de 8 a 12, luego a 16, luego a 20, y así sucesivamente. Evalúe el rendimiento en cada configuración, en lugar de aumentarlo directamente hasta el límite máximo.

NetScaler VPX con interfaces de red de transferencia SR-IOV y PCI

Para lograr un alto rendimiento para NetScaler VPX con interfaces de red de paso PCI y SR-IOV, consulte Configuración recomendada en hosts ESX.

Pautas de uso del hipervisor VMware ESXi

  • Le recomendamos que implemente una instancia de NetScaler VPX en los discos locales del servidor o en volúmenes de almacenamiento basados en SAN.

    Consulte la sección Consideraciones sobre la CPU de VMware ESXi en el documento Mejores prácticas de rendimiento para VMware vSphere 6.5. Aquí hay un extracto:

  • No se recomienda implementar máquinas virtuales con una alta demanda de CPU o memoria en un host o clúster sobrecomprometidos.

  • En la mayoría de los entornos, ESXi permite niveles significativos de compromiso excesivo de CPU sin afectar el rendimiento de la máquina virtual. En un host, puede ejecutar más CPU virtuales que el número total de núcleos de procesador físicos de ese host.

  • Si un host ESXi se satura de la CPU, es decir, las máquinas virtuales y otras cargas del host exigen todos los recursos de CPU que tiene el host, las cargas de trabajo sensibles a la latencia podrían no funcionar bien. En este caso, reduzca la carga de la CPU, por ejemplo, apagando algunas máquinas virtuales o migrándolas a un host diferente (o permitiendo que DRS las migre automáticamente).

  • NetScaler recomienda usar la versión más reciente de compatibilidad de hardware para aprovechar los conjuntos de funciones más recientes del hipervisor ESXi para la máquina virtual. Para obtener más información sobre la compatibilidad del hardware y la versión de ESXi, consulte la documentación de VMware.

  • El NetScaler VPX es un dispositivo virtual de alto rendimiento y sensible a la latencia. Para ofrecer el rendimiento esperado, el dispositivo requiere reserva de CPU virtuales, reserva de memoria y fijación de vCPU en el host. Además, el hipersubproceso debe estar inhabilitado en el host. Si el host no cumple con estos requisitos, pueden producirse los siguientes problemas:

    • Conmutación por error de alta disponibilidad
    • Pico de CPU en la instancia VPX
    • Lentitud en el acceso a la CLI de VPX
    • Fallo del demonio de Pit boss
    • Descarte de paquetes
    • Bajo rendimiento
  • Un Hypervisor se considera sobreaprovisionado si se cumple una de las dos condiciones siguientes:

    • El número total de núcleos virtuales (CPU virtuales) aprovisionados en el host es mayor que el número total de núcleos físicos (CPU físicas).

    • El número total de máquinas virtuales aprovisionadas consume más CPU virtuales que el número total de CPU físicas.

      Si una instancia está sobreaprovisionada, es posible que el hipervisor no garantice los recursos reservados (como CPU, memoria y otros) para la instancia debido a los gastos generales de programación del hipervisor, errores o limitaciones con el hipervisor. Este comportamiento puede provocar la falta de recursos de CPU para NetScaler y provocar los problemas mencionados en el primer punto de las Directrices de uso. Recomendamos que los administradores reduzcan la tenencia del host para que la cantidad total de vCPU aprovisionadas en el host sea inferior o igual a la cantidad total de CPU.

      Ejemplo

      En el hipervisor ESX, si el parámetro %RDY% de una vCPU VPX es superior a 0 en el resultado del comando esxtop, se dice que el host ESX tiene gastos generales de programación, lo que puede provocar problemas relacionados con la latencia en la instancia VPX.

      En tal situación, reduzca la tenencia en el host para que %RDY% siempre vuelva a 0. Como alternativa, contacte con el proveedor del hipervisor para seleccionar el motivo por el que no se ha respetado la reserva de recursos realizada.

Comandos para controlar el uso de la CPU del motor de paquetes

Puede utilizar dos comandos (set ns vpxparam y show ns vpxparam) para controlar el comportamiento de uso de CPU del motor de paquetes (no administrativo) de las instancias VPX en entornos de hipervisor y nube:

  • set ns vpxparam [-cpuyield (YES | NO | DEFAULT)] [-masterclockcpu1 (YES | NO)]

    Permita que cada máquina virtual utilice los recursos de CPU asignados a otra máquina virtual, pero que no se estén utilizando.

    Set ns vpxparam parámetros:

    -cpuyield: Libere o no libere recursos de CPU asignados pero no utilizados.

    • : Permitir que otra máquina virtual utilice recursos de CPU asignados pero no utilizados.

    • NO: reserve todos los recursos de CPU para la máquina virtual a la que se han asignado. Esta opción muestra un porcentaje más alto en entornos de hipervisor y nube para el uso de la CPU VPX.

    • PREDETERMINADO: No.

    Nota:

    En todas las plataformas NetScaler VPX, el uso de CPU virtuales en el sistema host es del 100 por ciento. Use el comando set ns vpxparam –cpuyield YES para supeditar este uso.

    Si quiere configurar los nodos de clúster en “yield”, debe realizar las siguientes configuraciones adicionales en CCO:

    • Si se forma un clúster, todos los nodos se configuran con “yield=DEFAULT”.
    • Si se forma un clúster mediante los nodos que ya están configurados en “Yield=yes”, los nodos se agregan al clúster mediante el rendimiento “DEFAULT”.

    Nota:

    Si quiere establecer los nodos del clúster en “Yield=Sí”, puede configurarlos solo después de formar el clúster, pero no antes de que se forme el clúster.

    -masterclockcpu1: Puede mover la fuente de reloj principal de la CPU0 (CPU de administración) a la CPU1. Este parámetro tiene las siguientes opciones:

    • : Permita que la VM mueva la fuente de reloj principal de la CPU0 a la CPU1.

    • NO: La máquina virtual utiliza CPU0 para la fuente de reloj principal. De forma predeterminada, CPU0 es la principal fuente de reloj.

  • show ns vpxparam

    Este comando muestra los parámetros de vpxparam actuales.

Instancia NetScaler VPX en la plataforma Linux-KVM

Esta sección contiene detalles sobre las opciones y los ajustes configurables, así como otras sugerencias que le ayudarán a lograr un rendimiento óptimo de la instancia NetScaler VPX en la plataforma Linux-KVM.

Configuración de rendimiento para KVM

Realice los siguientes ajustes en el host KVM:

Busque el dominio NUMA de la NIC mediante el comando lstopo:

Asegúrese de que la memoria del VPX y de la CPU esté fijada en la misma ubicación. En el siguiente resultado, la NIC 10G “ens2” está vinculada al dominio NUMA #1.

Dominio NUMA #1

Asigne la memoria VPX del dominio NUMA.

El comando numactl indica el dominio NUMA desde el que se asigna la memoria. En el siguiente resultado, se asignan unos 10 GB de RAM desde el nodo NUMA #0.

Nodo NUMA #0

Para cambiar la asignación de nodos NUMA, sigue estos pasos.

  1. Modifique el archivo.xml del VPX en el host.

      /etc/libvirt/qemu/<VPX_name>.xml
    <!--NeedCopy-->
    
  2. Agrega la siguiente etiqueta:

      <numatune>
      <memory mode="strict" nodeset="1"/>    This is the NUMA domain name
      </numatune>
    <!--NeedCopy-->
    
  3. Apaga el VPX.

  4. Ejecute este comando:

      virsh define /etc/libvirt/qemu/<VPX_name>.xml
    <!--NeedCopy-->
    

    Este comando actualiza la información de configuración de la máquina virtual con las asignaciones de nodos NUMA.

  5. Enciende el VPX. A continuación, compruebe el resultado del comando numactl –hardware en el host para ver las asignaciones de memoria actualizadas para el VPX.

    Salida del comando numactl hardware

Anclar vCPU de VPX a núcleos físicos.

  • Para ver las asignaciones de vCPU a PCPU de un VPX, escriba el siguiente comando

       virsh vcpupin <VPX name>
     <!--NeedCopy-->
    

    Salida del comando virsh-vcpupin

    Las vCPU 0—4 se asignan a los núcleos físicos 8—11.

  • Para ver el uso actual de la PCPU, escriba el siguiente comando:

       mpstat -P ALL 5
     <!--NeedCopy-->
    

    Salida del comando mpstat

    En este resultado, 8 es CPU de administración y 9-11 son motores de paquetes.

  • Para cambiar la fijación de vCPU a PCPU, hay dos opciones.

    • Cámbielo en tiempo de ejecución después de que se inicie el VPX con el siguiente comando:

         virsh vcpupin <VPX name> <vCPU id>  <pCPU number>
         virsh vcpupin NetScaler-VPX-XML 0 8
         virsh vcpupin NetScaler-VPX-XML 1 9
         virsh vcpupin NetScaler-VPX-XML 2 10
         virsh vcpupin NetScaler-VPX-XML 3 11
       <!--NeedCopy-->
      
    • Para realizar cambios estáticos en el VPX, modifique el archivo .xml como antes con las siguientes etiquetas:

      1. Modificar el archivo.xml del VPX en el host

          /etc/libvirt/qemu/<VPX_name>.xml
        <!--NeedCopy-->
        
      2. Agrega la siguiente etiqueta:

          <vcpu placement='static' cpuset='8-11'>4</vcpu>
              <cputune>
                  <vcpupin vcpu='0' cpuset='8'/>
                  <vcpupin vcpu='1' cpuset='9'/>
                  <vcpupin vcpu='2' cpuset='10'/>
                  <vcpupin vcpu='3' cpuset='11'/>
              </cputune>
        <!--NeedCopy-->
        
      3. Apaga el VPX.

      4. Actualice la información de configuración de la máquina virtual con las asignaciones de nodos NUMA mediante el siguiente comando:

          virsh define /etc/libvirt/qemu/ <VPX_name>.xml
        <!--NeedCopy-->
        
      5. Enciende el VPX. A continuación, compruebe el resultado del comando virsh vcpupin &lt;VPX name&gt; en el host para ver la fijación actualizada de la CPU.

Elimine la sobrecarga de interrupción del host.

  • Detecte VM_EXITS mediante el comando kvm_stat.

    En el nivel del hipervisor, las interrupciones del host se asignan a las mismas PCPU en las que están fijadas las vCPU de la VPX. Esto podría provocar que las vCPU de la VPX se expulsaran periódicamente.

    Para encontrar las salidas de VM realizadas por las máquinas virtuales que ejecutan el host, use el comando kvm_stat.

       [root@localhost ~]# kvm_stat -1  | grep EXTERNAL
       kvm_exit(EXTERNAL_INTERRUPT)  1728349 27738
       [root@localhost ~]#
     <!--NeedCopy-->
    

    Un valor más alto del orden 1+M indica un problema.

    Si hay una sola VM presente, el valor esperado es 30–100 K. Cualquier cosa más que eso puede indicar que hay uno o más vectores de interrupción del host asignados al mismo pCPU.

  • Detecte las interrupciones del host y migre las interrupciones del host.

    Al ejecutar el comando concatenate del archivo “/proc/interrupts”, muestra todas las asignaciones de interrupción del host. Si una o más IRQ activas se asignan a la misma PCPU, su contador correspondiente aumenta.

    Transfiera cualquier interrupción que se superponga con las PCPUs de NetScaler VPX a las PCPUs no utilizadas:

       echo 0000000f > /proc/irq/55/smp_affinity
       0000000f - - > it is a bitmap, LSBs indicates that IRQ 55 can only be scheduled on pCPUs 0 – 3
     <!--NeedCopy-->
    
  • Desactiva el saldo de IRQ.

    Inhabilite el demonio de equilibrio de IRQ para que no se produzca ninguna reprogramación sobre la marcha.

       service irqbalance stop
       service irqbalance show - To check the status
       service irqbalance start - Enable if needed
     <!--NeedCopy-->
    

    Asegúrese de ejecutar el comando kvm_stat para asegurarse de que no haya muchos contadores.

NetScaler VPX con interfaces de red fotovoltaica

Puede configurar las interfaces de red de paso de para-virtualización (PV), SR-IOV y PCIe como dos vNIC por implementación de PNIC . Para obtener más información, consulte Dos vNIC por implementación de PNIC.

Para obtener un rendimiento óptimo de las interfaces fotovoltaicas (virtio), siga estos pasos:

  • Identifique el dominio NUMA al que pertenece la ranura PCIe/NIC.
  • La memoria y la vCPU del VPX deben estar ancladas en el mismo dominio NUMA.
  • El subproceso vhost debe estar enlazado a las CPU del mismo dominio NUMA.

Enlazar los subprocesos del host virtual a las CPU correspondientes:

  1. Una vez iniciado el tráfico, ejecute el comando top en el host.

    Ejecuta el comando top

  2. Identificar el proceso de host virtual (denominado como vhost-&lt;pid-of-qemu&gt;) afinidad.
  3. Enlace los procesos vHost a los núcleos físicos del dominio NUMA identificado anteriormente mediante el siguiente comando:

      taskset –pc <core-id> <process-id>
    <!--NeedCopy-->
    

    Ejemplo

      taskset –pc 12 29838
    <!--NeedCopy-->
    
  4. Los núcleos del procesador correspondientes al dominio NUMA se pueden identificar con el siguiente comando:

      [root@localhost ~]# virsh capabilities | grep cpu
      <cpu>
          </cpu>
              <cpus num='8'>
                  <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
                  <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
                  <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
                  <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
                  <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
                  <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
                  <cpu id='6' socket_id='0' core_id='6' siblings='6'/>
                  <cpu id='7' socket_id='0' core_id='7' siblings='7'/>
              </cpus>
    
              <cpus num='8'>
              <cpu id='8' socket_id='1' core_id='0' siblings='8'/>
              <cpu id='9' socket_id='1' core_id='1' siblings='9'/>
              <cpu id='10' socket_id='1' core_id='2' siblings='10'/>
              <cpu id='11' socket_id='1' core_id='3' siblings='11'/>
              <cpu id='12' socket_id='1' core_id='4' siblings='12'/>
              <cpu id='13' socket_id='1' core_id='5' siblings='13'/>
              <cpu id='14' socket_id='1' core_id='6' siblings='14'/>
              <cpu id='15' socket_id='1' core_id='7' siblings='15'/>
              </cpus>
    
          <cpuselection/>
          <cpuselection/>
    
    <!--NeedCopy-->
    

Enlazar el proceso QEMU al núcleo físico correspondiente:

  1. Identificar los núcleos físicos en los que se ejecuta el proceso QEMU. Para obtener más información, consulte el resultado anterior.
  2. Enlace el proceso QEMU a los mismos núcleos físicos a los que vincula las vCPU mediante el siguiente comando:

      taskset –pc 8-11 29824
    <!--NeedCopy-->
    

NetScaler VPX con interfaces de red de transferencia SR-IOV y Fortville PCIe

Para obtener un rendimiento óptimo de las interfaces de red de paso SR-IOV y Fortville PCIe, siga estos pasos:

  • Identifique el dominio NUMA al que pertenece la ranura PCIe/NIC.
  • La memoria y la vCPU de NetScaler VPX deben estar ancladas al mismo dominio NUMA.

Archivo XML VPX de ejemplo para vCPU y fijación de memoria para Linux KVM:

      <domain type='kvm'>
          <name>NetScaler-VPX</name>
          <uuid>138f7782-1cd3-484b-8b6d-7604f35b14f4</uuid>
          <memory unit='KiB'>8097152</memory>
          <currentMemory unit='KiB'>8097152</currentMemory>
          <vcpu placement='static'>4</vcpu>

      <cputune>
          <vcpupin vcpu='0' cpuset='8'/>
          <vcpupin vcpu='1' cpuset='9'/>
          <vcpupin vcpu='2' cpuset='10'/>
          <vcpupin vcpu='3' cpuset='11'/>
      </cputune>

      <numatune>
      <memory mode='strict' nodeset='1'/>
      </numatune>

      </domain>
<!--NeedCopy-->

Instancia de NetScaler VPX en Citrix Hypervisors

Esta sección contiene detalles de las opciones y ajustes configurables y otras sugerencias que le ayudarán a lograr un rendimiento óptimo de la instancia de NetScaler VPX en Citrix Hypervisors.

Configuración de rendimiento de Citrix Hypervisors

Busque el dominio NUMA de la NIC mediante el comando “xl”:

  xl info -n
<!--NeedCopy-->

Anclar vCPU de VPX a núcleos físicos.

  xl vcpu-pin <Netsclaer VM Name>  <vCPU id>  <physical CPU id>
<!--NeedCopy-->

Compruebe la vinculación de las vCPU.

  xl vcpu-list
<!--NeedCopy-->

Asigne más de 8 vCPU a las máquinas virtuales NetScaler.

Para configurar más de 8 vCPU, ejecute los siguientes comandos desde la consola de Citrix Hypervisor:

  xe vm-param-set uuid=your_vms_uuid VCPUs-max=16
  xe vm-param-set uuid=your_vms_uuid VCPUs-at-startup=16
<!--NeedCopy-->

NetScaler VPX con interfaces de red SR-IOV

Para obtener un rendimiento óptimo de las interfaces de red SR-IOV, siga estos pasos:

  • Identifique el dominio NUMA al que está vinculada la ranura PCIe o la NIC.
  • Anclar la memoria y la vCPU del VPX al mismo dominio NUMA.
  • Enlaza la vCPU Domain-0 a la CPU restante.

NetScaler VPX con interfaces paravirtualizadas

Para obtener un rendimiento óptimo, se recomiendan dos vNIC por cada pNIC y una vNIC por cada pNIC, como en otros entornos fotovoltaicos.

Para lograr un rendimiento óptimo de las interfaces para-virtualizadas (netfront), siga estos pasos:

  • Identifique el dominio NUMA al que pertenece la ranura PCIe o la NIC.
  • Anclar la memoria y la vCPU del VPX al mismo dominio NUMA.
  • Enlazar la vCPU Domain-0 a la CPU restante del mismo dominio NUMA.
  • Anclar subprocesos Rx/Tx del host de vNIC a vCPU de dominio 0.

Anclar subprocesos de host a vCPU Domain-0:

  1. Busque el Xen-ID de NetScaler VPX utilizando el comando xl list en el shell del host de Citrix Hypervisor.
  2. Identifique los subprocesos de host mediante el siguiente comando:

      ps -ax | grep vif <Xen-ID>
    <!--NeedCopy-->
    

    En el siguiente ejemplo, estos valores indican:

    • vif5.0: los subprocesos de la primera interfaz asignada a VPX en XenCenter (interfaz de administración).
    • vif5.1: los subprocesos de la segunda interfaz asignada a VPX, etc.

    Salida del comando xl list

  3. Anclar los subprocesos a las vCPU Domain-0 mediante el siguiente comando:

      taskset –pc <core-id> <process-id>
    <!--NeedCopy-->
    

    Ejemplo

      taskset -pc 1 29189
    <!--NeedCopy-->
    
Optimice el rendimiento de NetScaler VPX en VMware ESX, Linux KVM y Citrix Hypervisors