Quiero solucionar los problemas de escalado de Amazon Aurora sin servidor v2 para la edición compatible con Amazon Aurora PostgreSQL.
Descripción breve
Si Aurora sin servidor v2 no se desescala verticalmente a la capacidad mínima incluso sin carga en la base de datos, debe actualizar los parámetros a sus valores predeterminados. Aurora sin servidor v2 usa unidades de capacidad de Aurora (ACU) para medir la capacidad de computación; cada ACU representa aproximadamente 2 gibibytes (GiB) de memoria con los recursos de red y CPU correspondientes.
Si tus recursos tienen demasiadas conexiones inactivas o si utilizas mucho la CPU durante periodos prolongados, no podrás escalar verticalmente hasta alcanzar la capacidad máxima. Si configuras una capacidad mínima de 0,5 ACU y utilizas la característica de pausa automática, es posible que tengas problemas de inicio en frío que provoquen errores de tiempo de espera de conexión o transacción.
Resolución
Modificación de la ACU mínima
Si migras de instancias aprovisionadas a instancias sin servidor, revisa la métrica BufferCacheHitRatio de la instancia aprovisionada para comprender el comportamiento de la instancia de base de datos. Si la métrica no es estable y se reduce en Aurora sin servidor, aumenta las ACU mínimas en función de tus necesidades de rendimiento de la caché del búfer de base de datos. Cuanto mayor sea la ACU mínima, más rápido podrá escalar verticalmente la base de datos para satisfacer la demanda de la aplicación. Para obtener más información, consulta Elegir el rango de capacidad de Aurora sin servidor v2 para un clúster de Aurora.
Para configurar la ACU mínima, completa los pasos siguientes:
- Abre la consola de Amazon Aurora y RDS.
- En el panel de navegación, selecciona Bases de datos.
- Selecciona **Crear base de datos ** para clústeres nuevos o selecciona un clúster existente y, a continuación, selecciona Modificar.
- En la sección Configuración de instancias, en Rango de capacidad, establece el valor mínimo de ACU. Para obtener más información, consulta Rango de capacidad en Creación de un clúster de base de datos que utilice Aurora sin servidor v2.
Nota: Si has activado Database Insights, se recomienda establecer la capacidad mínima (ACU) en 2. Si usas bases de datos globales, define la capacidad mínima (ACU) en 8. Para obtener más información, consulta **Elegir la configuración de capacidad mínima de Aurora sin servidor v2 para un clúster ** en Rendimiento y escalado para Aurora sin servidor v2.
Cambio del nivel de prioridad de la instancia del lector
Los escritores y lectores de Aurora sin servidor v2 inactivos pueden desescalar verticalmente hasta el valor mínimo de ACU que especificaste para el clúster. El procesamiento en segundo plano y las tareas administrativas que se ejecutan en el backend pueden provocar que las instancias sin servidor no desescalen verticalmente a la ACU mínima.
Para obtener más información, consulta Solución de problemas de capacidad de Aurora sin servidor v2.
Eliminación de valores personalizados
Los parámetros de la base de datos, como max_connections y max_locks_per_transaction, afectan al comportamiento de escalado. Los valores personalizados no permiten que las bases de datos se escalen a la capacidad mínima. Para eliminar los valores personalizados de max_connections y max_locks_per_transaction, establece los parámetros en el valor predeterminado. A continuación, reinicia la instancia de base de datos primaria.
Reducción de la presión de conexión en la base de datos
Para reducir la presión de conexión en la base de datos, utiliza Amazon RDS Proxy para configurar la agrupación de conexiones con lógica de reintento y retroceso exponencial.
Revisión de las consultas de la base
Para reducir la carga y mejorar el rendimiento de escalado, revisa y optimiza periódicamente las consultas a la base de datos. Para optimizar las consultas, ejecuta los comandos ANALYZE y VACUUM de PostgreSQL. Para obtener más información, consulta ANALYZE y Routine Vacuuming (Limpieza de rutinas) en el sitio web de PostgreSQL.
Supervisión de las métricas de CloudWatch
Para realizar un seguimiento del uso real de la ACU, supervisa ServerlessDatabaseCapacity, ACUUtilization, CPUUtilization y FreeableMemory de Amazon CloudWatch para Aurora sin servidor 2. Para recibir alertas proactivas sobre problemas de escalado con Aurora sin servidor v2, debes configurar las alarmas de CloudWatch. Si las métricas de utilización de ACUUtilization y de CPUUtilization se acercan al 100 %, Aurora sin servidor v2 no tiene suficiente capacidad máxima de ACU y condiciones de carga extremadamente altas.
Para configurar alertas para errores de escalado o periodos prolongados de alta capacidad, consulta Creación de alarmas de CloudWatch para supervisar Amazon Aurora.
Cómo establecer el valor para las configuraciones de pausa automática y tiempo de espera
Establece los valores de pausa y reanudación automáticas para Aurora sin servidor v2. Detén y reinicia la base de datos para recuperar los fragmentos de memoria que puedan haberse acumulado con el tiempo.
Nota: Si detienes y reinicias la base de datos, la base de datos experimentará un tiempo de inactividad.
Información relacionada
Understanding how ACU minimum and maximum range impacts scaling in Amazon Aurora sin servidor v2 (Cómo afecta el rango mínimo y máximo de la ACU al escalado en Amazon Aurora sin servidor v2)