Rendimiento

En esta página, se describen el rendimiento promedio esperado y la configuración de rendimiento recomendada para Filestore. También se muestra cómo probar el rendimiento de tus instancias de Filestore.

Rendimiento esperado

Cada nivel de servicio de Filestore proporciona un nivel de rendimiento diferente. Los niveles básicos ofrecen un rendimiento coherente más allá de una capacidad de instancia de 10 TB. En el caso de las instancias de nivel de gran escala, el rendimiento aumenta o disminuye de forma lineal a medida que aumenta la escala de la capacidad.

El rendimiento de una instancia dada puede ser diferente de los valores informados debido a una variedad de factores, como el uso del almacenamiento en caché en el cliente o servidor, el tipo de máquina de Compute Engine que se usa para la instancia de VM cliente y la carga de trabajo que se prueba.

Las siguientes tablas muestran el rendimiento esperado de las instancias de Filestore según su nivel de servicio y su capacidad configurada:

Rendimiento Capacidad (TB) IOPS de lectura y escritura Tput de lectura/escritura (MB/s)
BASIC_HDD 1-10 600/1,000 100/100
BASIC_HDD 10-63.9 1,000/5,000 180/120
BASIC_SSD 2.5-63.9 60,000/25,000 1,200/350
HIGH_SCALE_SSD 60 90,000/30,000 3,000/660
HIGH_SCALE_SSD 320 480,000/160,000 16,000/3,520

Escalamiento de rendimiento de nivel SSD de escala masiva y rendimiento por cliente

El rendimiento de las instancias de nivel de gran escala realiza un escalamiento de manera lineal con la capacidad asignada en pasos de 10 TB. En la siguiente tabla, se muestra la cantidad de rendimiento obtenida con cada 10 TB de capacidad.

Especificación IOPS máximas sostenidas 1 Tput continuo máximo2 (MB/s)
Lectura por 10TB 15,000 500
Escritura por 10TB 5,000 110

Estos números de rendimiento también corresponden al límite de rendimiento por cliente para cada instancia. Por ejemplo, a pesar de que una instancia de nivel de gran escala con 60 TB de capacidad tiene una capacidad de procesamiento máxima de lectura/escritura de 3,000/660 MB, la capacidad de procesamiento máxima alcanzable por cliente es de 500/110 MB/s No existe un límite de rendimiento por cliente para las instancias de nivel Básico.

Tipo recomendado de máquina cliente

Recomendamos tener un tipo de máquina de Compute Engine de n1-standard-8 o mejor para la instancia de VM del cliente. Esto permite que el cliente obtenga un ancho de banda de lectura de alrededor de 16 Gbps para cargas de trabajo compatibles con la caché.

Opciones de activación de cliente de Linux

Recomendamos utilizar las opciones de activación NFS predeterminadas, especialmente el uso de una activación hard, async, y tener las opciones rsize y wsize establecidas en 1 MB, para lograr el mejor rendimiento en instancias de VM cliente de Linux. Para obtener más información sobre las opciones de activación de NFS, consulta nfs.

Haz clic para expandir: Opciones de mount de NFS predeterminado

Opción predeterminada Descripción
hard El cliente de NFS reintenta las solicitudes NFS indefinidamente.
timeo=600 El cliente de NFS espera 600 decisegundos (60 segundos) antes de volver a intentar una solicitud NFS.
retrans=3 El cliente de NFS intenta las solicitudes NFS tres veces antes de tomar más medidas de recuperación.
rsize=1048576 El cliente de NFS puede recibir un máximo de 1,048,576 bytes (1 MiB) del servidor NFS por solicitud READ.
wsize=1048576 El cliente de NFS puede recibir un máximo de 1,048,576 bytes (1 MiB) del servidor NFS por solicitud WRITE.
resvport El cliente de NFS utiliza un puerto de origen privilegiado cuando se comunica con el servidor NFS de este punto de activación.
async El cliente de NFS retrasa el envío de escrituras de la aplicación al servidor NFS hasta que se cumplen ciertas condiciones.
Precaución: El uso de la opción sync reduce significativamente el rendimiento.

Prueba el rendimiento

Si usas Linux, puedes usar la herramienta fio a fin de comparar la capacidad de procesamiento de lectura y escritura y las IOPS para instancias de nivel Básico. En los ejemplos de esta sección, se muestran comparativas comunes que puedes ejecutar. Es posible que debas ejecutar fio desde varias instancias de VM cliente para alcanzar el máximo rendimiento. Este método para comparar el rendimiento no proporcionará resultados precisos para las instancias de nivel de gran escala.

En el siguiente ejemplo, se compara la capacidad de procesamiento de escritura máxima:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=seqwrite --rw=write \
--bs=1m --size=20G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=1 \
--directory=/mnt/gcfs --loops=10

En el siguiente ejemplo, se comparan las IOPS de escritura máxima:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=randwrite --rw=randwrite \
--bs=4K --size=1G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=80 \
--sync=1 --directory=/mnt/standard --loops=10

En el siguiente ejemplo, se compara la capacidad de procesamiento de lectura máxima:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=seqread --rw=read \
--bs=1m --size=240G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=1 \
--directory=/mnt/ssd --invalidate=1 --loops=10

En el siguiente ejemplo, se comparan las IOPS de lectura máxima:

fio --ioengine=sync --direct=0 \
--fsync_on_close=1 --randrepeat=0 --nrfiles=1  --name=randread --rw=randread \
--bs=4K --size=1G --end_fsync=1 --fallocate=none  --overwrite=0 --numjobs=20 \
--sync=1 --invalidate=1 --directory=/mnt/standard  --loops=10

  1. Los números se miden según IO de lectura y escritura en 4K. 

  2. Los números se miden según IO de lectura y escritura en 1M.