En esta página, se proporcionan las prácticas recomendadas para obtener rendimiento, durabilidad y disponibilidad óptimos de Cloud SQL.
Si se producen problemas con tu instancia de Cloud SQL, revisa lo siguiente cuando trates de solucionarlos:
Configuración y administración de instancia
Práctica recomendada | Más información |
---|---|
Lee y sigue los lineamientos operativos para asegurarte de que tus instancias estén cubiertas por el ANS de Cloud SQL. | |
Configura un período de mantenimiento para tu instancia principal a fin de controlar cuándo pueden ocurrir las actualizaciones con interrupciones. | Consulta Período de mantenimiento. |
Para cargas de trabajo con alto contenido de lectura, agrega réplicas de lectura con el objetivo de aliviar el tráfico de la instancia principal. | De forma opcional, puedes usar un balanceador de cargas, como HAProxy para gestionar el tráfico hacia las réplicas. |
Si borras y vuelves a crear instancias con regularidad, usa una marca de tiempo en el ID de instancia para aumentar la probabilidad de que puedan usarse ID de instancia nuevos. | |
No inicies una operación administrativa antes de que haya finalizado la operación anterior. |
Las instancias de Cloud SQL no aceptan solicitudes de operación nuevas hasta haber completado la operación anterior. Si intentas iniciar una operación nueva de forma prematura, fallará la solicitud de operación. Esto incluye reinicios de la instancia.
El estado de la instancia en la consola de Google Cloud no refleja si una operación se está ejecutando. La marca de verificación verde solo indica que la instancia está en estado |
Configura el almacenamiento para adaptar el mantenimiento fundamental de la base de datos. |
Si la configuración para habilitar los aumentos de almacenamiento automáticos está inhabilitada o si el límite de aumento de almacenamiento automático está habilitado, asegúrate de tener al menos un 20% disponible de espacio para alojar cualquier operación crítica de mantenimiento de base de datos que Cloud SQL pueda realizar. A fin de recibir alertas sobre el espacio disponible en el disco que sea inferior al 20%, crea una política de alertas basada en métricas para la métrica de uso del disco con una posición de límite superior y un valor de 0.8. Para obtener más información, consulta Crea políticas de alertas basadas en métricas. |
Evita el uso excesivo de tu CPU. |
Puedes ver el porcentaje de CPU disponible que está utilizando tu instancia en la página de detalles de la instancia en la consola de Google Cloud. Para obtener más información, consulta Métricas. También puedes supervisar el uso de CPU y recibir alertas en un límite especificado mediante Crea políticas de alertas de límite de métricas. Para evitar el uso excesivo, puedes aumentar la cantidad de CPU para tu instancia. Para cambiar las CPU, se debe reiniciar la instancia. Si la instancia ya tiene la cantidad máxima de CPU, debes fragmentar la base de datos en varias instancias. |
Evita el agotamiento de la memoria. |
Cuando busques signos de agotamiento de memoria, debes usar principalmente la métrica de uso. Para evitar errores de memoria insuficiente, te recomendamos que esta métrica permanezca por debajo del 90%. También puedes usar la métrica total_usage para observar el porcentaje de memoria disponible que usa tu instancia de Cloud SQL, incluida la memoria usada por el contenedor de la base de datos y la memoria asignada por la caché del sistema operativo. Si observas la diferencia entre las dos métricas, puedes identificar cuánta memoria usan los procesos y cuánto usa la caché del sistema operativo. Puedes volver a usar la memoria en esta caché. Para predecir problemas de memoria insuficiente, verifica ambas métricas y, luego, impleméntalas. Si las métricas parecen altas, es posible que la instancia tenga poca memoria. Esto puede deberse a una configuración personalizada, a que la instancia tiene un tamaño insuficiente para la carga de trabajo o a una combinación de estos factores. Escala tu instancia de Cloud SQL para aumentar el tamaño de su memoria. Para cambiar el tamaño de la memoria de la instancia, se debe reiniciar la instancia. Si tu instancia ya tiene el tamaño máximo de memoria, debes fragmentar la base de datos en varias instancias. Para obtener más información sobre cómo supervisar ambas métricas en la consola de Google Cloud, consulta Métricas. |
Arquitectura de datos
Práctica recomendada | Más información |
---|---|
Divide tus instancias grandes en instancias más pequeñas, de ser posible. | Siempre que sea posible, el uso de varias instancias más pequeñas de Cloud SQL es mejor que usar una instancia grande. Gestionar una instancia grande y monolítica presenta desafíos que no ocurren con un grupo de instancias más pequeñas. |
No uses demasiadas bases de datos ni tablas de bases de datos. |
Mantén el recuento de bases de datos en menos de 500. Mantén el recuento de tablas de tu instancia en menos de 50,000, o 500,000 si cumples con el requisito mínimo de hardware de más de 32 núcleos y más de 200 G de memoria. Mantén el recuento de tablas para cada base de datos de menos de 50,000 tablas. Demasiadas bases de datos o tablas de bases de datos pueden afectar el tiempo de actualización de la base de datos. |
Asegúrate de que tus tablas tengan una clave principal o única. | Cloud SQL usa la replicación basada en filas, que funciona mejor con tablas que tienen claves principales o únicas. |
Implementación de aplicaciones
Práctica recomendada | Más información |
---|---|
Implementa prácticas adecuadas de administración de conexiones, como la agrupación de conexiones y la retirada exponencial. | El uso de estas técnicas mejora el uso de los recursos por parte de tu aplicación y te ayuda a mantenerte dentro de los límites de conexión de Cloud SQL. Para obtener más información y ejemplos de códigos, consulta la página Administra conexiones de bases de datos. |
Verifica la respuesta de tu aplicación a las actualizaciones de mantenimiento, que pueden ocurrir en cualquier momento durante el período de mantenimiento. | Prueba el mantenimiento de autoservicio para simular una actualización de mantenimiento. Durante el mantenimiento la instancia deja de estar disponible durante un período breve y las conexiones existentes se descartan. La prueba de los lanzamientos de mantenimiento te permite comprender mejor cómo tu aplicación controla el mantenimiento programado y qué tan rápido se puede recuperar el sistema. |
Verifica la respuesta de tu aplicación a las conmutaciones por error, que pueden ocurrir en cualquier momento. | Puedes iniciar una conmutación por error de forma manual con la consola de Google Cloud, la CLI de gcloud o la API. Consulta Inicia la conmutación por error. |
Evita las transacciones grandes. | Mantén las transacciones pequeñas y cortas. Si se requiere una actualización grande de la base de datos, hazla en varias transacciones más pequeñas en lugar de en una transacción grande. |
Si usas el proxy de Cloud SQL Auth, asegúrate de usar la versión más reciente. | Consulta Mantén el proxy de Cloud SQL Auth actualizado. |
Importación y exportación de datos
Práctica recomendada | Más información |
---|---|
Usa las exportaciones sin servidores. | Las exportaciones sin servidores descargan la operación de exportación en una instancia temporal, lo que permite que la instancia principal continúe entregando consultas y realizando operaciones con su rendimiento habitual. Cuando se completa la exportación de datos, la instancia temporal se borra de forma automática. |
Acelera las importaciones para tamaños de instancia más pequeños. | Para las instancias pequeñas, puedes aumentar temporalmente la CPU y la RAM de una instancia a fin de mejorar el rendimiento cuando importas conjuntos de datos grandes. |
Si exportas datos para importarlos a Cloud SQL, asegúrate de usar el procedimiento adecuado. | Consulta Exporta datos desde un servidor de base de datos administrado de forma externa. |
Cuando migres datos mediante una importación o exportación, usa el mismo modo de SQL para ambas operaciones. | Consulta Usa el mismo modo de SQL para importar y exportar. |
Copia de seguridad y recuperación
Práctica recomendada | Más información |
---|---|
Protege tus datos con la función de Cloud SQL adecuada. |
Las copias de seguridad, la recuperación de un momento determinado y las exportaciones son formas de proporcionar redundancia y protección de datos. Cada una brinda protección frente a situaciones diferentes y se complementan en una estrategia sólida de protección de datos. Las copias de seguridad son livianas; proporcionan una forma de restablecer los datos en tu instancia al estado en el que se encontraban cuando se creó la copia de seguridad. Sin embargo, las copias de seguridad tienen algunas limitaciones. Si borras la instancia, también se borrarán las copias de seguridad. No puedes realizar una copia de seguridad de una sola tabla o base de datos. Si la región donde se encuentra la instancia no está disponible, no podrás restablecer la instancia desde esa copia de seguridad, incluso en una región disponible. Con la recuperación de un momento determinado, puedes recuperar una instancia tal como se encontraba en un punto específico en el tiempo. Por ejemplo, si un error provoca una pérdida de datos, puedes recuperar el estado de una base de datos antes de que se produzca el error. Una recuperación de un momento determinado siempre crea una instancia nueva. No puedes realizar una recuperación de un momento determinado en una instancia existente. Las exportaciones toman más tiempo para crearse porque se genera un archivo externo en Cloud Storage que puede usarse a fin de recrear tus datos. Las exportaciones no se ven afectadas si borras la instancia. Además, puedes exportar solo una base de datos única o incluso una tabla, según el formato de exportación que elijas. |
Ajusta el tamaño de las instancias para que se tome en cuenta la retención del registro de transacciones (binario). | La actividad de escritura alta en la base de datos puede generar un gran volumen de registros de transacciones (binario), que, a su vez, puede consumir un espacio de disco significativo y provocar el crecimiento del disco para instancias habilitadas a fin de aumentar el almacenamiento de forma automática. Recomendamos que ajustes el tamaño del almacenamiento de la instancia para tener en cuenta la retención del registro de transacciones. |
Protege la instancia y las copias de seguridad contra la eliminación accidental. | Una instancia de Cloud SQL que creas en la consola de Google Cloud o a través de Terraform habilita la prevención de eliminación accidental de forma predeterminada. Usa la función de exportación en Cloud SQL para exportar tus datos y obtener una protección adicional. Usa Cloud Scheduler con la API de REST para automatizar la administración de exportaciones. En situaciones más avanzadas, Cloud Scheduler con funciones de Cloud Run para la automatización. |
¿Qué sigue?
Para obtener más información sobre las prácticas generales por motor de base de datos, consulta los siguientes artículos:
- Prácticas recomendadas generales para MySQL
- Prácticas recomendadas generales para PostgreSQL
- Prácticas recomendadas generales para SQL Server