En esta página, se presentan las opciones de rendimiento disponibles para las instancias de Filestore y se proporcionan recomendaciones generales para optimizar el rendimiento. Cuando usas la Google Cloud consola para crear instancias zonales y regionales, el rendimiento personalizado se habilita de forma predeterminada para permitirte escalar las IOPS de forma independiente de la capacidad y satisfacer las necesidades específicas de tu carga de trabajo.
En la siguiente tabla, se proporciona un resumen de los límites de rendimiento para los rangos de capacidad inferior y superior en la configuración de rendimiento personalizada:
| Rango de capacidad | Nivel de servicio | Capacidad | IOPS aprovisionadas por TiB |
|---|---|---|---|
| Rango de capacidad inferior | Regional (instancias pequeñas disponibles en la región) | 100 GiB a 10,239 GiB | 4,000 a 17,000 |
| Regional (las instancias pequeñas no están disponibles en la región) | 1 TiB a 9.75 TiB | 4,000 a 17,000 | |
| Zonal | 1 TiB a 9.75 TiB | 4,000 a 17,000 | |
| Mayor rango de capacidad | Regional | 10 TiB a 100 TiB | De 3,000 a 7,500 |
| Zonal | 10 TiB a 100 TiB | De 3,000 a 7,500 |
Información sobre los cálculos de rendimiento
En la siguiente tabla, se muestran los cálculos de rendimiento basados en las IOPS aprovisionadas por TiB y la capacidad asignada. Los cálculos se basan en diferentes rangos de capacidad para mostrar cómo cambian los valores de IOPS de lectura, IOPS de escritura, capacidad de procesamiento de lectura y capacidad de procesamiento de escritura para los valores mínimos y máximos de IOPS por TiB.
Para obtener más información, consulta IOPS de lectura y escritura.
| Rango de capacidad | IOPS aprovisionadas mínimas y máximas por TiB de |
Capacidad | IOPS de lectura | IOPS de escritura | Capacidad de procesamiento de lectura (MiBps) | Capacidad de procesamiento de escritura (MiBps) | Capacidad de procesamiento de lectura de un solo cliente (MiBps) | Capacidad de procesamiento de escritura de un solo cliente (MiBps) |
|---|---|---|---|---|---|---|---|---|
| Rango de capacidad inferior (de 100 GiB a 10,239 GiB) |
4,000 | 100 GiB | 2,000* | 600 | 47 | 16 | 47 | 16 |
| 600 GiB | 2,344 | 703 | 55 | 19 | 55 | 19 | ||
| 1,024 GiB | 4,000 | 1,200 | 94 | 32 | 94 | 32 | ||
| 10,239 GiB | 39,996 | 11,999 | 940 | 320 | 450 | 260 | ||
| 17,000 | 100 GiB | 2,000 | 600 | 47 | 16 | 47 | 16 | |
| 600 GiB | 9,961 | 2,988 | 234 | 80 | 234 | 80 | ||
| 1,024 GiB | 17,000 | 5,100 | 400 | 136 | 400 | 136 | ||
| 10,239 GiB | 169,983 | 50,995 | 3,995 | 1,360 | 450 | 260 | ||
| Rango de capacidad más alto (de 10 TiB a 100 TiB) |
3,000 | 10 TiB | 30,000 | 9,000 | 705 | 240 | 705 | 240 |
| 7,500 | 100 TiB | 750,000 | 225,000 | 17,625 | 6,000 | 1,600 | 800 |
* Según el acceso a la función de instancias de capacidad pequeña, el rango de capacidad inferior para las instancias regionales de Filestore puede ser de 100 GiB a 10,239 GiB o de 1 TiB a 9.75 TiB. Para obtener más información, consulta Instancias de Filestore de capacidad pequeña.
Escalamiento del rendimiento
En situaciones de uno o pocos clientes, debes aumentar la cantidad de conexiones de TCP con la opción de activación nconnect para lograr el rendimiento máximo de NFS.
Para niveles de servicio específicos, recomendamos que especifiques la siguiente cantidad de conexiones entre el cliente y el servidor:
| Nivel | Capacidad | Número de conexiones |
|---|---|---|
| Regional, zonal | De 1 a 9.75 TiB | nconnect=2 |
| Regional, zonal | De 10 a 100 TiB | nconnect=7 |
| Para empresas | - | nconnect=2 |
| SSD de escala masiva | - | nconnect=7 |
En general, cuanto mayor sea la capacidad del archivo compartido y menor sea la cantidad de VMs de cliente que se conectan, más rendimiento obtendrás si especificas conexiones adicionales con nconnect.
Tipo de máquina cliente recomendado
Recomendamos tener 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 que el cliente obtenga un ancho de banda de lectura de alrededor de 16 Gbps para cargas de trabajo compatibles con la caché. Para obtener más contexto, 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 especial la activación hard, async y las opciones rsize y wsize, 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.
| 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=524288 |
El cliente de NFS puede recibir un máximo de 524,288 bytes del servidor NFS por solicitud READ. Nota: Para las instancias de nivel básico, establece el valor rsize en 1048576. |
wsize=524288 |
El cliente de NFS puede enviar un máximo de 524,288 bytes al 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. |
Optimiza la capacidad de procesamiento 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 recuperar previamente 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.
Para las versiones del kernel de Linux 5.4 y posteriores, el cliente NFS de Linux usa un valor predeterminado de read_ahead_kb de 128 KB.
Te recomendamos que aumentes este valor a 20 MB para mejorar la capacidad de procesamiento de lectura secuencial.
Después de activar correctamente el recurso compartido de archivos en la VM 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"
Reemplaza lo siguiente:
MOUNT_POINT_DIRECTORY es la ruta al directorio en el que se activa el archivo compartido.
Rendimiento de una o varias VM de cliente
Los niveles de servicio escalables de Filestore están optimizados para el rendimiento de varias VMs 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 el rendimiento completo. Esto garantiza que todas las VMs del clúster de Filestore subyacente se utilicen por completo.
Para agregar contexto, el clúster de Filestore escalable más pequeño tiene cuatro VMs. Cada VM cliente se comunica con una sola VM del clúster de Filestore, independientemente de la cantidad de conexiones NFS por cliente que se especifiquen con la opción de montaje nconnect. Si se usa una sola VM cliente, las operaciones de lectura y escritura solo se realizan desde una sola VM del clúster de Filestore.
Límites de rendimiento basados en la capacidad
Los límites basados en la capacidad se aplican a los niveles de servicio que no admiten el rendimiento personalizado, como los niveles básicos o las instancias en las que desactivas manualmente el rendimiento personalizado.
Cada nivel de servicio de Filestore proporciona un nivel diferente de rendimiento que puede variar debido a factores como el uso del almacenamiento en caché, la cantidad de VMs del cliente, el tipo de máquina de las VMs del cliente y la carga de trabajo probada.
En la siguiente tabla, se indica el rendimiento máximo que puedes alcanzar cuando configuras la capacidad mínima y máxima para cada nivel de servicio. Todos los valores de la tabla son límites estimados.
| Nivel de servicio | Capacidad | IOPS de lectura | IOPS de escritura | Capacidad de procesamiento de lectura (MiBps) | Capacidad de procesamiento de escritura (MiBps) | Capacidad de procesamiento de lectura de un solo cliente (MiBps) | Capacidad de procesamiento de escritura de un solo cliente (MiBps) |
|---|---|---|---|---|---|---|---|
| Zonal | 1 TiB | 9,200 | 2,600 | 260 | 88 | 260 | 88 |
| 9.75 TiB | 89,700 | 25,350 | 2,535 | 858 | 450 | 260 | |
| 10 TiB | 92,000 | 26,000 | 2,600 | 880 | 1,600 | 800 | |
| 100 TiB | 920,000 | 260,000 | 26,000 | 8,800 | 1,600 | 800 | |
| Regional | 1 TiB | 12,000 | 4,000 | 120 | 100 | 120 | 100 |
| 9.75 TiB | 117,000 | 39,000 | 1,170 | 975 | 450 | 260 | |
| 10 TiB | 92,000 | 26,000 | 2,600 | 880 | 1,600 | 800 | |
| 100 TiB | 920,000 | 260,000 | 26,000 | 8,800 | 1,600 | 800 | |
| Para empresas | 1 TiB | 12,000 | 4,000 | 120 | 100 | 120 | 100 |
| 10 TiB | 120,000 | 40,000 | 1,200 | 1,000 | 450 | 260 | |
| HDD básico | 1 TiB a 10 TiB | 600 | 1,000 | 100 | 100 | 100 | 100 |
| 10 TiB a 63.9 TiB | 1,000 | 5,000 | 180 | 120 | 180 | 120 | |
| SSD básico | 2.5 TiB a 63.9 TiB | 60,000 | 25,000 | 1,200 | 350 | 1,200 | 350 |
Mejora el rendimiento en todos los recursos de Google Cloud
Las operaciones en varios recursos de Google Cloud , como la copia de datos de Cloud Storage a una instancia de Filestore con Google Cloud CLI, pueden ser lentas. Para mitigar los problemas de rendimiento, prueba lo siguiente:
Asegúrate de que el bucket de Cloud Storage, la VM de cliente y la instancia de Filestore residan en la misma región.
Las regiones duales proporcionan una opción de máximo rendimiento para los datos almacenados en Cloud Storage. Si usas esta opción, asegúrate de que los otros recursos residan en una de las regiones únicas que contiene la birregional. Por ejemplo, si tus datos de Cloud Storage residen en
us-central1,us-west1, asegúrate de que tu VM cliente y tu instancia de Filestore residan enus-central1.Como punto de referencia, verifica el rendimiento de una VM con un Persistent Disk (PD) adjunto y compáralo con el rendimiento de una instancia de Filestore.
- Si la VM conectada al PD tiene un rendimiento similar o más lento en comparación con la instancia de Filestore, esto podría indicar un cuello de botella de rendimiento no relacionado con Filestore. Para mejorar el rendimiento de referencia de tus recursos que no son de Filestore, puedes ajustar las propiedades de gcloud CLI asociadas con las cargas compuestas paralelas. Para obtener más información, consulta Cómo las herramientas y las APIs usan las cargas compuestas paralelas.
- Si el rendimiento de la instancia de Filestore es notablemente más lento que el de la VM conectada al PD, intenta distribuir la operación en varias VMs para mejorar el rendimiento de las operaciones de lectura desde Cloud Storage.
¿Qué sigue?
- Rendimiento personalizado
- Rendimiento de la prueba
- Soluciona problemas relacionados con el rendimiento
- Capacidad de escalamiento