En esta página, se proporciona orientación para mejorar el rendimiento de Cloud Storage FUSE.
Mejora el rendimiento de lectura y escritura
Para mejorar el rendimiento de lectura y escritura, te recomendamos lo siguiente:
Habilita el almacenamiento en caché: Cloud Storage FUSE ofrece cuatro tipos de caché opcionales del cliente que almacenan tipos específicos de datos y metadatos de forma local para ayudar a mejorar el rendimiento:
Almacenamiento en caché de archivos: Almacena copias de los archivos a los que se accede con frecuencia.
Almacenamiento en caché de estadísticas: Almacena los metadatos de los archivos.
Almacenamiento en caché de tipos: Almacena información sobre el tipo de archivo.
Almacenamiento en caché de la lista: Almacena las fichas del directorio.
El almacenamiento en caché del FUSE de Cloud Storage funciona con cualquier directorio especificado por el usuario que esté respaldado por el almacenamiento que elijas. El rendimiento de la caché de Cloud Storage FUSE coincide con el almacenamiento subyacente que usa la caché con una sobrecarga mínima.
Habilita las descargas en paralelo para acelerar las lecturas: Habilita las descargas en paralelo para acelerar las lecturas de archivos grandes de más de 1 GB. Para obtener más información, consulta Mejora el rendimiento de lectura mediante descargas paralelas.
Ejecuta cargas de trabajo de lectura y escritura secuenciales cuando sea posible: Cloud Storage FUSE funciona mejor para las cargas de trabajo de lectura y escritura secuenciales que las cargas de trabajo de lectura y escritura aleatorias. Cloud Storage FUSE usa una heurística para detectar cuándo se lee un archivo de forma secuencial, lo que permite que Cloud Storage FUSE emita menos solicitudes de lectura más grandes a Cloud Storage con la misma conexión TCP.
Ajusta los tamaños del archivo según el tipo de lectura: Para optimizar el rendimiento de lectura secuencial, te recomendamos que subas y leas archivos de 5 MB a 200 MB de tamaño. Para optimizar el rendimiento de lectura aleatoria, te recomendamos subir y leer archivos de 2 MB aproximadamente.
Activa el espacio de nombres jerárquico en los buckets: Para aumentar las velocidades de rendimiento de lectura y escritura, y garantizar la atomicidad para operaciones de consultas por segundo (QPS) iniciales más altas, te recomendamos que actives el espacio de nombres jerárquico en los buckets. Para obtener más información sobre cómo los buckets habilitados para el espacio de nombres jerárquico pueden mejorar el rendimiento de FUSE de Cloud Storage, consulta Activa el espacio de nombres jerárquico para activar los buckets.
Mejora el rendimiento de la primera lectura
Antes de ejecutar la carga de trabajo, te recomendamos que primero crees una lista de manera recursiva de los archivos en tu bucket activado para propagar las cachés de estadísticas y tipos con anticipación y mejorar el rendimiento en la primera ejecución en un método por lotes más rápido:
ls -R MOUNT_POINT > /dev/null
Usa el almacenamiento en caché de archivos para mejorar la capacidad de procesamiento
Cloud Storage FUSE tiene una latencia más alta que un sistema de archivos local. La capacidad de procesamiento se reduce cuando lees o escribes archivos pequeños de a uno, ya que genera varias llamadas a la API separadas. Leer o escribir varios archivos grandes a la vez puede ayudar a aumentar la capacidad de procesamiento. Usa la función de caché de archivos de Cloud Storage FUSE para mejorar el rendimiento de E/S pequeñas y aleatorias. Para obtener más información sobre el almacenamiento en caché de archivos y cómo habilitar la función, consulta Cómo usar el almacenamiento en caché de archivos de Cloud Storage FUSE.
Activa buckets con el espacio de nombres jerárquico habilitado
Para garantizar la atomicidad de las operaciones de consultas por segundo (QPS) iniciales más altas, como los puntos de control y los cambios o cambios de nombre de directorios, te recomendamos que actives los buckets con espacio de nombres jerárquico (versión preliminar). El espacio de nombres jerárquico organiza tus datos en una estructura de sistema de archivos jerárquica, lo que hace que las operaciones dentro del bucket sean más eficientes. Las llamadas a objeto de lista (BucketHandle.Objects
) se reemplazan por llamadas a obtener carpeta, lo que genera tiempos de respuesta más rápidos y menos llamadas generales a la lista para cada operación.
Logra la capacidad de procesamiento máxima
Para alcanzar la capacidad de procesamiento máxima, usa una máquina con recursos de CPU suficientes para controlar la capacidad de procesamiento y saturar la tarjeta de interfaz de red (NIC). Los recursos de CPU insuficientes pueden causar una limitación de Cloud Storage FUSE.
Si usas Google Kubernetes Engine, aumenta la asignación de CPU al contenedor del archivo adicional de Cloud Storage FUSE si tus cargas de trabajo necesitan una capacidad de procesamiento mayor. Puedes aumentar los recursos que usa el contenedor de archivo adicional o asignar recursos ilimitados.
Evalúa las necesidades de IOPS en consultas por segundo
Filestore es una mejor opción que Cloud Storage FUSE para cargas de trabajo que requieren altas operaciones de entrada y salida instantáneas por segundo (IOPS), también conocidas como consultas por segundo en Cloud Storage. Filestore también es la mejor opción para IOPS muy altas en un solo sistema de archivos con menor latencia.
Como alternativa, también puedes usar la función de caché de archivos de Cloud Storage FUSE para compilar en función de las características de rendimiento del medio de caché subyacente si proporciona IOPS altas y baja latencia.
Realiza pruebas de carga
Si deseas obtener instrucciones para realizar pruebas de carga en Cloud Storage FUSE, consulta Comparativas de rendimiento en la documentación de GitHub.
¿Qué sigue?
- Obtén información sobre el almacenamiento en caché de Cloud Storage FUSE.
- Obtén más información sobre la semántica de Cloud Storage FUSE y la solución de problemas en GitHub.