Rendimiento

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

Rendimiento esperado

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

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.

En las siguientes tablas, se muestra el rendimiento esperado de las instancias de Filestore según su nivel de servicio y capacidad configurada:

Rendimiento Capacidad (TiB) IOPS de lectura y escritura Tput de lectura/escritura (MiB/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 10 90,000/26,000 2,600/880
HIGH_SCALE_SSD 100 980,000/120,000 26,000/8,800

Escalamiento de rendimiento en el nivel de SSD de escala masiva

El rendimiento de las instancias de nivel de escala alta escala de forma lineal con la capacidad asignada en los pasos TiB 2.5. En la siguiente tabla, se muestra la cantidad de rendimiento obtenido con cada TiB de capacidad.

Especificación IOPS máximas sostenidas 1 Tput máximo sostenido2 (MiB/s)
Lectura por 2.5TiB 23,000 650
Escritura por 2.5TiB 6,500 220

En situaciones de cliente único y pocos clientes, debes aumentar la cantidad de conexiones TCP con la opción de activación nconnect para lograr el máximo rendimiento de NFS. En general, cuanto mayor sea la capacidad de los archivos compartidos y menos las VM de cliente conectadas, más rendimiento obtendrás si especificas conexiones adicionales con nconnect.

Tipo recomendado de máquina cliente

Recomendamos tener un tipo de máquina de Compute Engine, como n2-standard-8, que proporcione un ancho de banda de salida de 16 Gbps. Esto permite que el cliente logre un ancho de banda de lectura de Gbps aproximadamente para cargas de trabajo compatibles con la caché.A fin de obtener más contexto, consulta el ancho de banda de red.

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 MiB, 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 determinadas condiciones.
Precaución: Usar 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 las instancias de nivel Básico. En los ejemplos de esta sección, se muestran comparativas comunes que quizá desee ejecutar. Es posible que debas ejecutar el disco desde varias instancias de VM de cliente para alcanzar el máximo rendimiento. Este método para comparar el rendimiento no proporcionará resultados precisos de las instancias de nivel de escala alta.

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

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=write --blocksize=1m --iodepth=64 --readwrite=write

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

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite

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

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=read --blocksize=1m --iodepth=64 --readwrite=read

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

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randread --blocksize=4k --iodepth=256 --readwrite=randread

¿Qué sigue?


  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.