Optimiza el rendimiento

En esta página, se proporcionan detalles sobre cómo puedes optimizar el rendimiento de Google Cloud NetApp Volumes.

Antes de comenzar

Antes de realizar cambios en los volúmenes para optimizar el rendimiento, revisa las consideraciones de rendimiento.

Cómo ajustar la configuración de volumen

Para optimizar el rendimiento, puedes ajustar los siguientes parámetros de volumen:

  • Aumentar la capacidad del volumen: Puedes aumentar la capacidad de tu volumen de nivel de servicio Premium, Extreme o Estándar para mejorar la capacidad de procesamiento máxima que se puede lograr. En el caso de los volúmenes del nivel de servicio Flex, aumenta la capacidad de los grupos de almacenamiento.

  • Actualiza tu nivel de servicio: Puedes actualizar tus volúmenes del nivel de servicio Premium al nivel de servicio Extreme para mejorar la capacidad de procesamiento. Te recomendamos que asignes el volumen a un grupo de almacenamiento diferente con un nivel de servicio diferente.

El aumento de la capacidad del volumen y la actualización de los niveles de servicio no interrumpen las cargas de trabajo de E/S en proceso en el volumen ni afectan el acceso al volumen de ninguna manera.

Cómo ajustar el cliente

Para mejorar el rendimiento, ajusta los siguientes parámetros de configuración en el cliente:

  • Colocalizar clientes: Los resultados de latencia se ven afectados directamente por las capacidades y la ubicación del cliente. Para obtener los mejores resultados, coloca el cliente en la misma región que el volumen o lo más cerca posible. Para probar el impacto de la zona, prueba la latencia de un cliente en cada zona y usa la zona con la latencia más baja.

  • Configura el ancho de banda de la red de Compute Engine: Las capacidades de red de las máquinas virtuales de Compute Engine dependen del tipo de instancia que se usa. Por lo general, las instancias más grandes pueden generar más rendimiento de red. Te recomendamos que selecciones una máquina virtual cliente con una capacidad de ancho de banda de red adecuada, selecciones la interfaz de red de la NIC virtual de Google (gVNIC) y habilites el rendimiento de Tier_1. Para obtener más información, consulta la documentación de Compute Engine sobre el ancho de banda de red.

  • Abrir varias sesiones TCP: Si tu aplicación requiere una alta capacidad de procesamiento, con el tiempo, puedes saturar la única sesión del protocolo de control de transmisión (TCP) que subyace a una sesión normal de NFS y SMB. En esos casos, aumenta la cantidad de sesiones TCP que usa tu conexión NFS y SMB.

    Usa una de las siguientes pestañas para ajustar el cliente según el tipo de cliente:

    Linux

    Tradicionalmente, un cliente NFS usa una sola sesión TCP para todos los sistemas de archivos activados de NFS que comparten un extremo de almacenamiento. El uso de la opción de activación nconnect te permite aumentar la cantidad de sesiones TCP compatibles hasta un máximo de 16.

    Te recomendamos que sigas las siguientes prácticas recomendadas para ajustar el tipo de cliente de Linux y aprovechar nconnect por completo:

    • Aumenta la cantidad de sesiones TCP con nconnect: Cada sesión TCP adicional agrega una cola para 128 solicitudes pendientes, lo que mejora la simultaneidad potencial.

    • Establece el parámetro sunrpc.max_tcp_slot_table_entries: sunrpc.max_tcp_slot_table_entries es un parámetro de ajuste a nivel de la conexión que puedes modificar para controlar el rendimiento. Te recomendamos que configures sunrpc.max_tpc_slot_table_enteries en 128 solicitudes o por conexión y que no superes las 10,000 ranuras para todos los clientes de NFS en un solo proyecto que se conecte a NetApp Volumes. Para configurar el parámetro sunrpc.max_tcp_slot_table_entries, agrégalo a tu archivo /etc/sysctl.conf y vuelve a cargarlo con el comando sysctl -p.

    • Ajusta el valor máximo admitido por sesión a 180: A diferencia de NFSv3, los clientes de NFSv4.1 definen la relación entre el cliente y el servidor en las sesiones. Si bien NetApp Volumes admite hasta 128 solicitudes pendientes por conexión con NFSv3, NFSv4.1 se limita a 180 solicitudes pendientes por sesión. Los clientes NFSv4.1 de Linux usan 64 max_session_slots de forma predeterminada por sesión, pero puedes ajustar este valor según sea necesario. Te recomendamos que cambies el valor máximo admitido por sesión a 180.

      Para ajustar max_session_slots, crea un archivo de configuración en /etc/modprobe.d. Asegúrate de que no aparezcan comillas (" ") intercaladas. De lo contrario, la opción no tendrá efecto.

      $ echo "options nfs max_session_slots=180" > /etc/modprobe/d/nfsclient/conf
      $ reboot
      
      Use the systool -v -m nfs command to see the current maximum in use
      by the client. For the command to work, at least one NFSv4.1 mount
      must be in place.
      
      $ systool -v -v nfs
      {
      Module = "nfs"
      
      Parameters:
      
      Max_session_slots = "63" <-
      
      }
      

    En el siguiente gráfico de comparación de nconnect de NFS, se muestra el impacto que puede tener el uso de la configuración de nconnect en una carga de trabajo de NFS. Esta información se capturó con Fio con la siguiente configuración:

    • Carga de trabajo de lectura del 100%

    • Tamaño de bloque de 8 KiB en un solo volumen

    • Máquina virtual n2-standard-32 con el SO Red Hat 9

    • Conjunto de tareas de 6 TiB

    El uso de un valor nconnect de 16 generó un rendimiento cinco veces mayor que cuando no estaba habilitado.

    Comparación de nconnect de NFS con una sola máquina virtual Red Hat 9 con un tamaño de bloque de 8 KiB.

    Windows

    En el caso de los clientes basados en Windows, el cliente puede usar SMB Multichannel con escalamiento del lado receptor (RSS) para abrir varias conexiones TCP. Para lograr esta configuración, la máquina virtual debe tener un adaptador de red asignado que admita RSS. Te recomendamos que configures RSS en cuatro o ocho valores. Sin embargo, cualquier valor superior a uno debería aumentar la capacidad de procesamiento.

    En el siguiente gráfico, se muestra la diferencia que puede tener la configuración de RSS en una carga de trabajo de SMB. Esta información se capturó con Fio con la siguiente configuración:

    • Carga de trabajo de lectura del 100%

    • Tamaño de bloque de 8 KiB en un solo volumen

    • Máquina virtual n2-standard-32 única que ejecuta un SO Windows 2022

    • Conjunto de tareas de 6 TiB

    Se ejecutaron ocho trabajos con solo la opción de RSS del cliente SMB que cambiaba entre las ejecuciones de prueba. El uso de valores de RSS de 4, 8 y 16 aumentó el rendimiento al doble en comparación con el uso de un valor de 1. Cada instancia de RSS se ejecutó nueve veces con un parámetro numjobs de 8. El parámetro iodepth se incrementó en cinco en cada ejecución hasta que se alcanzó la capacidad de procesamiento máxima.

    Comparación de RSS de SMB de una sola VM de Windows 2022 con un tamaño de bloque de 8 KiB

¿Qué sigue?

Lee sobre los grupos de almacenamiento.