Activación de páginas de gran tamaño para una instancia de RDS para Oracle - Amazon Relational Database Service

Activación de páginas de gran tamaño para una instancia de RDS para Oracle

Amazon RDS for Oracle es compatible con las páginas enormes del kernel de Linux para aumentar la escalabilidad de la base de datos. El uso de HugePages deriva en tablas de páginas más pequeñas y menos tiempo dedicado por la CPU a la administración de memoria, lo que aumenta el rendimiento de instancias de base de datos grandes. Para obtener más información, consulte Overview of HugePages en la documentación de Oracle.

Puede utilizar HugePages con todas las versiones y ediciones compatibles de RDS para Oracle.

El parámetro use_large_pages controla si las páginas de gran tamaño están activadas para una instancia de base de datos. Los valores posibles para este parámetro son ONLY, FALSE y {DBInstanceClassHugePagesDefault}. El parámetro use_large_pages se define en {DBInstanceClassHugePagesDefault} en el grupo de parámetros de base de datos predeterminado para Oracle.

Para comprobar si se han activado las páginas de gran tamaño para una instancia de base de datos de forma automática, puede utilizar la variable de la fórmula DBInstanceClassHugePagesDefault en los grupos de parámetros. El valor se determina de la siguiente manera:

  • Para las clases de instancia de base de datos mencionadas en la tabla siguiente, DBInstanceClassHugePagesDefault siempre toma el valor FALSE de forma predeterminada y use_large_pages toma el valor FALSE. Puede activar páginas de gran tamaño manualmente para estas clases de instancia de base de datos si la clase de instancia de base de datos dispone de al menos 14 GiB de memoria.

  • Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia de base de datos tiene menos de 14 GiB de memoria, DBInstanceClassHugePagesDefault siempre toma el valor FALSE. Además, use_large_pages toma el valor FALSE.

  • Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia tiene al menos 14 GiB de memoria y menos de 100 GiB de memoria, DBInstanceClassHugePagesDefault toma el valor TRUE de forma predeterminada. Además, use_large_pages toma el valor ONLY. Puede desactivar las páginas de gran tamaño manualmente estableciendo use_large_pages en FALSE.

  • Para las clases de instancia de base de datos no mencionadas en la tabla siguiente, si la clase de instancia tiene al menos 100 GiB de memoria, DBInstanceClassHugePagesDefault siempre toma el valor TRUE. Además, use_large_pages toma el valor ONLY y las páginas de gran tamaño no se pueden desactivar.

Las páginas de gran tamaño no están activadas de forma predeterminada para las siguientes clases de instancia de base de datos.

Familia de clase de instancia de base de datos Las clases de instancia de base de datos con páginas de gran tamaño no están activadas de forma predeterminada

db.m5

db.m5.large

db.m4

db.m4.large, db.m4.xlarge, db.m4.2xlarge, db.m4.4xlarge, db.m4.10xlarge

db.t3

db.t3.micro, db.t3.small, db.t3.medium, db.t3.large

Para obtener más información acerca de las clases de instancias de bases de datos, consulte Especificaciones de hardware para clases de instancia de base de datos .

Para activar manualmente las páginas de gran tamaño para las instancias de bases de datos nuevas o existentes, establezca el parámetro use_large_pages en ONLY. No es posible utilizar las páginas enormes con Oracle Automatic Memory Management (AMM). Si establece el parámetro use_large_pages en ONLY, también debe establecer memory_target y memory_max_target en 0. Para obtener más información acerca de cómo configurar parámetros de base de datos para la instancia de base de datos, consulte Grupos de parámetros para Amazon RDS.

También puede configurar los parámetros sga_target, sga_max_size y pga_aggregate_target. Cuando establezca los parámetros de memoria de área global del sistema (SGA) y de área global del programa (PGA), sume ambos valores. Reste este total de la memoria disponible en la instancia (DBInstanceClassMemory) para determinar la memoria que queda libre después de la asignación de las páginas enormes. Debe dejar libres como mínimo 2 GiB, o el 10 por ciento de la memoria total disponible de la instancia, lo que sea menor.

Después de configurar los parámetros, debe reiniciar la instancia de base de datos para que los cambios surtan efecto. Para obtener más información, consulte Reinicio de una instancia de base de datos.

nota

La instancia de base de datos de Oracle aplaza los cambios en los parámetros de inicialización relacionados con SGA hasta que se reinicie la instancia sin conmutación por error. En la consola de Amazon RDS, elija Reiniciar pero no elija Reiniciar con conmutación por error. En la AWS CLI, llame al comando reboot-db-instance con el parámetro --no-force-failover. La instancia de base de datos no procesa los parámetros relacionados con SGA durante la conmutación por error o durante otras operaciones de mantenimiento que hacen que la instancia se reinicie.

A continuación se muestra una configuración de parámetros de ejemplo de páginas de gran tamaño que habilita las páginas de gran tamaño manualmente. Debe establecer los valores de acuerdo con sus necesidades.

memory_target = 0 memory_max_target = 0 pga_aggregate_target = {DBInstanceClassMemory*1/8} sga_target = {DBInstanceClassMemory*3/4} sga_max_size = {DBInstanceClassMemory*3/4} use_large_pages = ONLY

Suponga que se definen los siguientes valores de parámetro en un grupo de parámetros.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = {DBInstanceClassHugePagesDefault}

El grupo de parámetros es utilizado por una clase de instancia db.r4 DB que tiene menos de 100 GiB de memoria. Con esta configuración de parámetros y use_large_pages establecido en {DBInstanceClassHugePagesDefault}, las páginas de gran tamaño están activadas en la instancia db.r4.

Vea otro ejemplo con los siguientes valores de parámetros definidos en un grupo de parámetros.

memory_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) memory_max_target = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4}) pga_aggregate_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0) sga_target = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) sga_max_size = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0) use_large_pages = FALSE

Una clase de instancia de base de datos db.r4 y db.r5 usa el grupo de parámetros, ambas con menos de 100 GiB de memoria. Con esta configuración de parámetros, las páginas de gran tamaño están desactivadas en las instancias db.r4 y db.r5.

nota

Si una clase de instancia de base de datos db.r4 o db.r5 DB con al menos 100 GiB de memoria utiliza este grupo de parámetros, se anula el valor FALSE de use_large_pages y se cambia por ONLY. En este caso, se envía una notificación de cliente sobre la anulación.

Después de activar las páginas de gran tamaño en la instancia de base de datos, puede ver la información sobre las páginas de gran tamaño activando el monitoreo mejorado. Para obtener más información, consulte Supervisión de las métricas del sistema operativo con Supervisión mejorada.