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 de rendimiento diferente. Los niveles Básicos ofrecen un rendimiento coherente más allá de la capacidad de una instancia de 10 TiB. Para las instancias de nivel empresarial y de escala alta, el rendimiento aumenta o disminuye de forma lineal a medida que la capacidad se aumenta o se reduce.

El rendimiento de una instancia determinada puede variar respecto de los números informados debido a diversos factores, como el uso del almacenamiento en caché.tipo de máquina de la VM cliente y la carga de trabajo probada.

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 y escritura (MiB/s)
BASIC_HDD De 1 a 10 600/1,000 100/100
BASIC_HDD De 10 a 63.9 1,000/5,000 180/120
BASIC_SSD 2.5 a 63.9 60,000/25,000 1,200/350
HIGH_SCALE_SSD 10 90,000/26,000 2,600/880
HIGH_SCALE_SSD 100 920,000/260,000 26,000/8,800
ENTERPRISE 1 12,000/4,000 120/100
ENTERPRISE 10 120,000/40,000 1,200/1,000

Escalamiento del rendimiento de los niveles SSD de Enterprise y de escala masiva

El rendimiento de las instancias de nivel de escala empresarial y alta escala se escala de forma lineal con la capacidad asignada en 1 TiB y 2.5 pasos TiB, respectivamente. En la siguiente tabla, se muestra la cantidad de rendimiento que se obtuvo con cada TiB de 2.5 de capacidad.

Escala masiva

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

Empresa

Especificación Máximo de IOPS sostenidas[^1] Tput máxima sostenida[^2] (MiB/s)
Lectura por 1TiB 12,000 120
Escritura por 1TiB 4,000 100

En situaciones de uno o 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. Recomendamos especificar hasta 7 conexiones para el nivel de escala masiva y hasta 2 conexiones para el nivel de Enterprise. En general, cuanto más grande sea la capacidad de archivos compartidos y menor sea la cantidad de VM de cliente que se conectan, más rendimiento obtendrás cuando especifiques 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. Este ancho de banda de salida permite al cliente lograr alrededor de 16 Gbps de ancho de banda de lectura para las cargas de trabajo compatibles con la caché. Para obtener contexto adicional, consulta Ancho de banda de red.

Opciones de activación de cliente de Linux

Recomendamos usar las siguientes opciones de activación de NFS, en especialhard mount, async, y que lasrsize ywsize opciones configuradas en 1MiB, para lograr el mejor rendimiento en las instancias de VM de cliente de Linux. Para obtener más información sobre las opciones de activación de NFS, consulta nfs.

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 NFS puede recibir un máximo de 1,048,576 bytes (1 MiB) del servidor NFS por solicitud READ.
wsize=1048576 El cliente 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 IOPS de lectura y escritura y las instancias de nivel Básico. Los ejemplos de esta sección muestran comparativas comunes que te recomendamos ejecutar. Es posible que debas ejecutar fio desde varias instancias de VM de cliente para lograr el máximo rendimiento. Este método para crear comparativas del rendimiento no proporciona resultados precisos para las instancias de nivel Enterprise y de escala masiva.

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.