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 tus volúmenes para optimizar el rendimiento, revisa las consideraciones sobre el rendimiento.
Cómo ajustar la configuración de volumen
Puedes optimizar el rendimiento ajustando los siguientes parámetros de configuración 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 el rendimiento máximo alcanzable del volumen. Para los volúmenes del nivel de servicio Flex, aumenta la capacidad de los grupos de almacenamiento.
Actualiza tu nivel de servicio: Puedes actualizar los volúmenes de tu nivel de servicio Premium al nivel de servicio Extreme para mejorar el rendimiento. Te recomendamos que asignes el volumen a un grupo de almacenamiento diferente con un nivel de servicio diferente.
Usa grupos de QoS manuales para asignar una mayor capacidad de procesamiento: Puedes disminuir la capacidad de procesamiento asignada de volúmenes más grandes con requisitos de capacidad de procesamiento bajos y aumentar la capacidad de procesamiento de volúmenes más pequeños que necesitan un mayor rendimiento hasta la capacidad de procesamiento disponible del grupo.
Aumentar la capacidad del volumen y actualizar 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
Puedes mejorar el rendimiento ajustando los siguientes parámetros de configuración en el cliente:
Ubicación conjunta de los clientes: Los resultados de latencia se ven afectados directamente por las capacidades y la ubicación del cliente. Para obtener mejores resultados, coloca el cliente en la misma región que el volumen o lo más cerca posible. Prueba el impacto zonal probando la latencia desde 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 use. Por lo general, las instancias más grandes pueden generar más capacidad de procesamiento de la red. Te recomendamos que selecciones una máquina virtual del cliente con una capacidad de ancho de banda de red adecuada, que elijas la interfaz de red de la NIC virtual de Google (gVNIC) y que 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.Abre varias sesiones de TCP: Si tu aplicación requiere un rendimiento alto, es posible que satures 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 de TCP que usan tus conexiones NFS y SMB.
Usa una de las siguientes pestañas para ajustar tu cliente según el tipo de cliente:
Linux
Tradicionalmente, un cliente de NFS usa una sola sesión de TCP para todos los sistemas de archivos activados por NFS que comparten un extremo de almacenamiento. Con la opción de activación
nconnect
, puedes aumentar la cantidad de sesiones de TCP admitidas hasta un máximo de 16.Te recomendamos que sigas estas prácticas recomendadas para ajustar tu tipo de cliente de Linux y aprovechar al máximo
nconnect
: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 establezcassunrpc.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 dentro de un solo proyecto que se conecte a NetApp Volumes. Para configurar el parámetrosunrpc.max_tcp_slot_table_entries
, agrégalo a tu archivo/etc/sysctl.conf
y vuelve a cargarlo con el comandosysctl -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 de Linux NFSv4.1 tienen un valor predeterminado de
64 max_session_slots
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 comparativo de NFS
nconnect
, se demuestra el impacto que la configuración de nconnect puede tener en una carga de trabajo de NFS. Esta información se capturó con Fio y la siguiente configuración:Carga de trabajo de lectura del 100%
Tamaño de bloque de 8 KiB en un solo volumen
n2-standard-32
máquina virtual con SO Red Hat 9Conjunto de trabajo de 6 TiB
Usar un valor de
nconnect
de 16 generó un rendimiento cinco veces mayor que cuando no se habilitó.Windows
En el caso de los clientes basados en Windows, el cliente puede usar SMB Multichannel con Receive Side Scaling (RSS) para abrir varias conexiones TCP. Para lograr esta configuración, tu máquina virtual debe tener un adaptador de red asignado que admita RSS. Te recomendamos que establezcas el RSS en cuatro u ocho valores. Sin embargo, cualquier valor superior a uno debería aumentar el rendimiento.
En el siguiente gráfico, se muestra la diferencia que puede generar la configuración de RSS en una carga de trabajo de SMB. Esta información se capturó con Fio y la siguiente configuración:
Carga de trabajo de lectura del 100%
Tamaño de bloque de 8 KiB en un solo volumen
Una sola máquina virtual
n2-standard-32
que ejecuta un SO Windows 2022Conjunto de trabajo de 6 TiB
Se ejecutaron ocho trabajos en los que solo se modificó la opción de RSS del cliente de SMB entre las ejecuciones de prueba. El uso de valores de RSS de 4, 8 y 16 duplicó el rendimiento 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ámetroiodepth
se incrementó en cinco en cada ejecución hasta que se alcanzó el rendimiento máximo.
QoS manual
La calidad de servicio (QoS) manual en NetApp Volumes te permite ajustar el rendimiento del volumen para satisfacer los requisitos de la carga de trabajo y controlar los costos de almacenamiento.
La QoS manual ofrece los siguientes beneficios:
Optimización de costos: Ajusta el rendimiento del volumen dentro de la capacidad de tu grupo de almacenamiento para optimizar los costos de la nube.
Ajuste instantáneo de la capacidad de procesamiento: Ajusta la capacidad de procesamiento del volumen sin tiempo de inactividad.
Reducción de costos de recuperación ante desastres: Se reduce la QoS para los volúmenes replicados con el objetivo de reducir los costos de recuperación ante desastres para los grupos de destino.
Rendimiento mejorado para clones o cachés: Aumenta el rendimiento de los volúmenes de clon o caché con tamaños asignados pequeños.
Administración flexible de cargas de trabajo: Usa grupos de almacenamiento más grandes como contenedores para múltiples cargas de trabajo y ajusta la capacidad de procesamiento de cada volumen según sea necesario.
Consideraciones
Puedes administrar la QoS manual con Google Cloud CLI, la API de NetApp Volumes o Terraform. La consola de Google Cloud no es compatible.
La QoS manual se admite para los niveles de servicio Estándar, Premium y Extremo, y no está disponible para el nivel de servicio Flex.
Cómo configurar límites de QoS manuales
En el caso de los volúmenes dentro de un grupo de almacenamiento con QoS manual, puedes establecer la capacidad de procesamiento y la capacidad de forma independiente. La capacidad de procesamiento general de todos los volúmenes en un grupo de QoS manual está limitada por la capacidad de procesamiento total del grupo. La capacidad de procesamiento del grupo se determina según su capacidad asignada y su nivel de servicio. Por ejemplo, un grupo Premium de 40 TiB puede alcanzar una capacidad de procesamiento máxima de 2,560 MiBps a 64 MiBps por TiB, mientras que un grupo Extreme de 200 TiB puede admitir volúmenes con una capacidad de procesamiento combinada de 25,600 MiBps.
Una vez que se configura el grupo de QoS manual, puedes establecer el límite de capacidad de procesamiento requerido para cada volumen dentro de él. El límite máximo de capacidad de procesamiento para un solo volumen es de 4.5 GiBps o de 30 GiBps para los volúmenes de gran capacidad.
Los comandos o las APIs de volumen y grupo muestran los valores de capacidad de procesamiento disponibles y asignados para el grupo, lo que te ayuda a administrar la capacidad de procesamiento total. Para crear un grupo de QoS manual y definir el procesamiento del volumen, consulta Crea un grupo de almacenamiento y Crea un volumen.
Crea un grupo de almacenamiento
gcloud
Crea un grupo de almacenamiento con QoS manual:
gcloud netapp storage-pools create POOL_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --capacity=CAPACITY \ --service-level=SERVICE_LEVEL \ --qos-type=QOS_TYPE \ --network=name=NETWORK_NAME
Reemplaza la siguiente información:
POOL_NAME
: Es el nombre del grupo que deseas crear. El nombre del grupo debe ser único por ubicación.PROJECT_ID
: Es el nombre del proyecto en el que deseas crear el grupo de almacenamiento.LOCATION
: Es la ubicación del grupo que deseas crear.CAPACITY
: Es la capacidad del grupo en GiB.SERVICE_LEVEL
: Es el nivel de servicio de tu grupo de almacenamiento: Estándar, Premium o Extremo.QOS_TYPE
: Es el tipo de QoS de tu grupo de almacenamiento: automático o manual.NETWORK_NAME
: El nombre de la VPC.
Cómo editar un grupo de almacenamiento
gcloud
Edita un grupo de almacenamiento de QoS automática existente para usar la QoS manual:
gcloud netapp storage-pools update POOL_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --qos-type=QOS_TYPE
Reemplaza la siguiente información:
POOL_NAME
: Es el nombre del grupo que deseas actualizar.PROJECT_ID
: el nombre del proyecto.LOCATION
: Es la ubicación del grupo.QOS_TYPE
: Es el tipo de QoS actualizado para tu grupo de almacenamiento. Solo se admite la configuración manual.
Crear un volumen
gcloud
Crea un volumen con el límite de capacidad de procesamiento de QoS manual especificado con el siguiente comando:
gcloud netapp volumes create VOLUME_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --storage-pool=STORAGE_POOL \ --capacity=CAPACITY \ --protocols=PROTOCOLS \ --share-name=SHARE_NAME \ --throughput-mibps=THROUGHPUT_MIBPS
Reemplaza la siguiente información:
VOLUME_NAME
: el nombre del volumen Este nombre debe ser único por ubicación.PROJECT_ID
: Es el nombre del proyecto en el que se creará el volumen.LOCATION
: Es la ubicación del volumen.STORAGE_POOL
: Es el grupo de almacenamiento en el que se creará el volumen.CAPACITY
: La capacidad del volumen. Define la capacidad que ven los clientes de NAS.PROTOCOLS
: Elige los protocolos NAS con los que se exporta el volumen. Las opciones válidas son NFSv3, NFSv4, SMB y las siguientes combinaciones:nfsv3,nfsv4
nfsv3,smb
nfsv4,smb
Según el tipo de protocolo que elijas, te recomendamos que agregues los parámetros específicos del protocolo, como
export-policy
osmb-settings
.SHARE_NAME
: Es la ruta de exportación de NFS o el nombre del recurso compartido de SMB del volumen.THROUGHPUT_MIBPS
: Es el límite de capacidad de procesamiento del volumen en MiBps.
Para obtener más información sobre las marcas opcionales adicionales, consulta la documentación del SDK de Google Cloud sobre la creación de volúmenes.
¿Qué sigue?
Obtén más información sobre los grupos de almacenamiento.