Rendimiento de instancia

En esta página se describen los límites de rendimiento de las instancias de Filestore, así como los ajustes de rendimiento y las opciones de prueba recomendados.

Cada nivel de servicio de Filestore proporciona un nivel de rendimiento diferente que puede variar debido a factores como el uso de la caché, el número de VMs de cliente, el tipo de máquina de las VMs de cliente y la carga de trabajo probada.

En la siguiente tabla se indica el rendimiento máximo que puedes conseguir al definir la capacidad mínima y máxima de cada nivel de servicio.

Todos los valores de la tabla son límites estimados y no están garantizados. Para obtener información sobre los ajustes y los límites de rendimiento personalizados, consulta Límites de rendimiento personalizados.

Límites de rendimiento en la capacidad mínima y máxima de cada nivel de servicio
Nivel de servicio Capacidad IOPS de lectura IOPS de escritura Rendimiento de lectura (MiB/s) Rendimiento de escritura (MiB/s) Rendimiento de lectura de un solo cliente (MiB/s) Rendimiento de escritura de un solo cliente (MiB/s) Rendimiento personalizado admitido
BASIC_HDD De 1 a 10 TiB 600 1000 100 100 100 100 No
De 10 a 63,9 TiB 1000 5000 180 120 180 120
BASIC_SSD De 2,5 a 63,9 TiB 60.000 25.000 1200 350 1200 350
ZONAL 1 TiB 9200 2600 260 88 260 88
9,75 TiB 89.700 25.350 2535 858 450 260
10 TiB 92.000 26.000 2600 880 1600 800
100 TiB 920.000 260.000 26.000 8800 1600 800
REGIONAL 1 TiB 12.000 4000 120 100 120 100
9,75 TiB 117.000 39.000 1170 975 450 260
10 TiB 92.000 26.000 2600 880 1600 800
100 TiB 920.000 260.000 26.000 8800 1600 800
GRANDES EMPRESAS 1 TiB 12.000 4000 120 100 120 100 No
10 TiB 120.000 40.000 1200 1000 450 260

Escalado del rendimiento

El rendimiento aumenta de forma lineal con la capacidad dentro de los límites de rendimiento indicados en la tabla anterior. Por ejemplo, si doblas la capacidad de tu instancia Enterprise de 1 TiB a 2 TiB, el límite de rendimiento de la instancia se duplicará de 12.000/4000 IOPS de lectura y escritura a 24.000/8000 IOPS de lectura y escritura.

En los casos en los que hay un solo cliente o pocos, debe aumentar el número de conexiones TCP con la opción de montaje nconnect para conseguir el máximo rendimiento de NFS.

En el caso de los niveles de servicio específicos, te recomendamos que especifiques el siguiente número de conexiones entre el cliente y el servidor:

Nivel Capacidad Número de conexiones
Regional, zonal 1-9,75 TiB nconnect=2
Regional, zonal 10-100 TiB nconnect=7
Empresa - nconnect=2
SSD de gran escala - nconnect=7

En general, cuanto mayor sea la capacidad del recurso compartido de archivos y menor sea el número de VMs cliente conectadas, más rendimiento obtendrás si especificas conexiones adicionales con nconnect.

Rendimiento personalizado

Define un rendimiento personalizado para configurar el rendimiento según las necesidades de tu carga de trabajo, independientemente de la capacidad especificada. Puede especificar una relación IOPS por TiB o definir un número fijo de IOPS. Para obtener más información, consulta Rendimiento personalizado.

Tipo de máquina cliente recomendado

Te recomendamos que tengas un tipo de máquina de Compute Engine, como n2-standard-8, que proporcione un ancho de banda de salida de al menos 16 Gbps. Este ancho de banda de salida permite al cliente alcanzar aproximadamente 16 Gbps de ancho de banda de lectura para cargas de trabajo compatibles con la caché. Para obtener más información, consulta la sección sobre el ancho de banda de red.

Opciones de montaje del cliente Linux

Para conseguir el mejor rendimiento en instancias de VM de cliente de Linux, te recomendamos que uses las siguientes opciones de montaje de NFS, especialmente hard mount, async y las opciones rsize y wsize. Para obtener más información sobre las opciones de montaje de NFS, consulta nfs.

Opción predeterminada Descripción
hard El cliente NFS vuelve a intentar enviar las solicitudes NFS indefinidamente.
timeo=600 El cliente NFS espera 600 decisegundos (60 segundos) antes de volver a intentar una solicitud NFS.
retrans=3 El cliente NFS intenta enviar solicitudes NFS tres veces antes de tomar más medidas de recuperación.
rsize=524288 El cliente NFS puede recibir un máximo de 524.288 bytes del servidor NFS por cada solicitud READ.
Nota: En las instancias de nivel básico, asigna el valor rsize a 1048576.
wsize=1048576 El cliente NFS puede enviar un máximo de 1.048.576 bytes (1 MiB) al servidor NFS por cada solicitud WRITE.
resvport El cliente NFS usa un puerto de origen privilegiado cuando se comunica con el servidor NFS para este punto de montaje.
async El cliente NFS retrasa el envío de las escrituras de la aplicación al servidor NFS hasta que se cumplen determinadas condiciones.
Precaución: Usar la opción sync reduce significativamente el rendimiento.

Optimizar el rendimiento de lectura de NFS con el parámetro read_ahead_kb

El parámetro read_ahead_kb de NFS especifica la cantidad de datos, en kilobytes, que el kernel de Linux debe prefetear durante una operación de lectura secuencial. Como resultado, las solicitudes de lectura posteriores se pueden atender directamente desde la memoria para reducir la latencia y mejorar el rendimiento general.

En las versiones del kernel de Linux 5.4 y posteriores, el cliente NFS de Linux usa un valor read_ahead_kb predeterminado de 128 KB. Te recomendamos que aumentes este valor a 20 MB para mejorar el rendimiento de lectura secuencial.

Una vez que hayas montado correctamente el sistema de archivos compartidos en la VM de cliente de Linux, puedes usar la siguiente secuencia de comandos para ajustar manualmente el valor del parámetro read_ahead_kb:

mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"

Donde:

MOUNT_POINT_DIRECTORY es la ruta al directorio en el que se monta el recurso compartido de archivos.

Rendimiento de una VM con un solo cliente y con varios clientes

Los niveles de servicio escalables de Filestore están optimizados para el rendimiento de varias máquinas virtuales de cliente, no de una sola.

En el caso de las instancias zonales, regionales y empresariales, se necesitan al menos cuatro VMs de cliente para aprovechar todo el rendimiento. De esta forma, se asegura de que todas las VMs del clúster de Filestore subyacente se utilicen por completo.

Para añadir contexto, el clúster de Filestore escalable más pequeño tiene cuatro máquinas virtuales. Cada máquina virtual cliente se comunica con una sola máquina virtual de clúster de Filestore, independientemente del número de conexiones NFS por cliente que se especifique mediante la opción de montaje nconnect. Si se usa una sola VM de cliente, las operaciones de lectura y escritura solo se realizan desde una sola VM de clúster de Filestore.

Mejorar el rendimiento de los recursos de Google Cloud

Las operaciones en varios recursos Google Cloud , como copiar datos de Cloud Storage a una instancia de Filestore mediante la CLI de gcloud, pueden ser lentas. Para mitigar los problemas de rendimiento, prueba lo siguiente:

  • Asegúrate de que el segmento de Cloud Storage, la VM cliente y la instancia de Filestore se encuentren en la misma región.

    Las birregiones ofrecen una opción de máximo rendimiento para los datos almacenados en Cloud Storage. Si usas esta opción, asegúrate de que los demás recursos se encuentren en una de las regiones únicas que componen la región doble. Por ejemplo, si tus datos de Cloud Storage se encuentran en us-central1,us-west1, asegúrate de que tu VM cliente y tu instancia de Filestore se encuentren en us-central1.

  • Para tener un punto de referencia, verifica el rendimiento de una VM con un disco persistente (PD) conectado y compáralo con el rendimiento de una instancia de Filestore.

    • Si el rendimiento de la VM conectada a PD es similar o inferior al de la instancia de Filestore, puede que haya un cuello de botella en el rendimiento que no esté relacionado con Filestore. Para mejorar el rendimiento de referencia de tus recursos que no son de Filestore, puedes ajustar las propiedades de la CLI de gcloud asociadas a las subidas compuestas paralelas. Para obtener más información, consulta Cómo usan las herramientas y las APIs las subidas compuestas en paralelo.
    • Si el rendimiento de la instancia de Filestore es notablemente más lento que el de la máquina virtual conectada a PD, prueba a repartir la operación entre varias máquinas virtuales.

    • Esto ayuda a mejorar el rendimiento de las operaciones de lectura de Cloud Storage.

    • En las instancias zonales, regionales y empresariales, se necesitan al menos cuatro VMs de cliente para aprovechar todo el rendimiento. De esta forma, se asegura de que todas las VMs del clúster de Filestore subyacente se utilicen por completo. Para obtener más información, consulta Rendimiento de una o varias VMs de cliente.

Siguientes pasos