Administración de memoria mejorada en Aurora PostgreSQL - Amazon Aurora

Administración de memoria mejorada en Aurora PostgreSQL

Las cargas de trabajo de los clientes que agotan la memoria libre disponible en la instancia de base de datos provocan que el sistema operativo reinicie la base de datos, lo que conlleva la falta de disponibilidad de la base de datos. Aurora PostgreSQL ha introducido capacidades mejoradas de administración de memoria que previenen de forma proactiva los problemas de estabilidad y los reinicios de las bases de datos causados por la falta de memoria libre. Esta mejora está disponible de forma predeterminada en las siguientes versiones:

  • Versión 15.3 y versiones posteriores a la 15

  • Versión 14.8 y versiones posteriores a la 14

  • Versión 13.11 y versiones posteriores a la 13

  • Versión 12.15 y versiones posteriores a la 12

  • Versión 11.20 y versiones posteriores a la 11

Para mejorar la administración de la memoria, hace lo siguiente:

  • Cancela las transacciones de bases de datos que solicitan más memoria cuando el sistema se acerca a una presión de memoria crucial.

  • Se dice que el sistema está bajo una presión de memoria crucial, cuando agota toda la memoria física y está a punto de agotar el intercambio. En estas circunstancias, cualquier transacción que solicite memoria se cancelará para reducir inmediatamente la presión de memoria en la instancia de base de datos.

  • Los indicadores de PostgreSQL y los procesos de trabajo secundarios esenciales como los procesos de autovacuum, siempre están protegidos.

Configuración de parámetros de administración de memoria

Para activar la administración de memoria

Esta función está activada de forma predeterminada. Cuando se cancela una transacción por falta de memoria aparece un mensaje de error, como se muestra en el siguiente ejemplo:

ERROR: out of memory Detail: Failed on request of size 16777216.
Para desactivar la administración de memoria

Para desactivar esta característica, conéctese al clúster de base de datos de Aurora PostgreSQL con psql y utilice la instrucción SET para los valores de parámetros, como se indica a continuación.

Para las versiones 11.21, 12.16, 13.12, 14.9, 15.4 y anteriores de Aurora PostgreSQL:

postgres=>SET rds.memory_allocation_guard = true;

El valor predeterminado del parámetro rds.memory_allocation_guard está establecido en false en el grupo de parámetros.

Para Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 y versiones superiores:

postgres=>rds.enable_memory_management = false;

El valor predeterminado del parámetro rds.enable_memory_management está establecido en true en el grupo de parámetros.

Al establecer los valores de estos parámetros en el grupo de parámetros de clúster de base de datos, se evita que se cancelen las consultas. Para obtener más información acerca de los grupos de parámetros de clúster de base de datos, consulte Working with parameter groups (Trabajar con grupos de parámetros).

El valor de estos parámetros dinámicos también se puede establecer a nivel de sesión para que incluya o excluya una sesión en la administración mejorada de la memoria.

nota

No recomendamos desactivar esta característica, ya que podría provocar un error de falta de memoria que podría llevar al reinicio de la base de datos inducido por la carga de trabajo debido al agotamiento de la memoria del sistema.