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.
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 | Sí |
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 enus-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.