Administración de Historial de estado global de RDS para MySQL - Amazon Relational Database Service

Administración de Historial de estado global de RDS para MySQL

sugerencia

Para analizar el rendimiento de la base de datos, también puede utilizar Información de rendimiento en Amazon RDS. Para obtener más información, consulte Monitoreo de la carga de base de datos con Performance Insights en Amazon RDS.

MySQL mantiene muchas variables de estado que proporcionan información acerca de su funcionamiento. Su valor puede ayudarle a detectar problemas de bloqueo o de memoria en una instancia de base de datos. Los valores de estas variables de estado son acumulativos desde la última vez que se inició la instancia de base de datos. Puede restablecer la mayoría de las variables de estado a 0 utilizando el comando FLUSH STATUS.

Para permitir la monitorización de estos valores a lo largo del tiempo, Amazon RDS proporciona un conjunto de procedimientos que van creando snapshots de los valores de estas variables de estado y los escriben en una tabla, junto con cualquier cambio desde el último instantánea. Esta infraestructura, que se denomina Global Status History (GoSH), se instala en todas las instancias de bases de datos MySQL desde la versión 5.5.23. GoSH está deshabilitado de forma predeterminada.

Para habilitar GoSH, primero debe habilitar el programador de eventos desde un grupo de parámetros de base de datos estableciendo el parámetro event_scheduler en ON. Para las instancias de base de datos MySQL que ejecutan MySQL 5.7, configure también el parámetro show_compatibility_56 en 1. Para obtener información acerca de cómo crear y modificar un grupo de parámetros de base de datos, consulte Grupos de parámetros para Amazon RDS. Para obtener información acerca de los efectos secundarios de la habilitación de este parámetro, consulte show_compatibility_56 en el Manual de referencia de MySQL 5.7.

A continuación, puede utilizar los procedimientos de la siguiente tabla para activar y configurar GoSH. En primer lugar, conéctese a la instancia de la base de datos MySQL y, a continuación, emita los comandos apropiados como se muestra a continuación. Para obtener más información, consulte Conexión a la instancia de base de datos de MySQL. Para cada procedimiento, ejecute el siguiente comando y sustituya procedure-name:

CALL procedure-name;

En la tabla siguiente se enumeran todos los procedimientos que puede utilizar para procedure-name en el comando anterior.

Procedimiento Descripción

mysql.rds_enable_gsh_collector

Permite que GoSH tome los snapshots predeterminados con los intervalos especificados por rds_set_gsh_collector.

mysql.rds_set_gsh_collector

Especifica el intervalo, en minutos, entre snapshots. El valor predeterminado es 5.

mysql.rds_disable_gsh_collector

Desactiva los snapshots.

mysql.rds_collect_global_status_history

Toma una instantánea a petición.

mysql.rds_enable_gsh_rotation

Permite rotar el contenido de la tabla mysql.rds_global_status_history a mysql.rds_global_status_history_old con los intervalos especificados por rds_set_gsh_rotation.

mysql.rds_set_gsh_rotation

Especifica el intervalo, en días, entre rotaciones de la tabla. El valor predeterminado es 7.

mysql.rds_disable_gsh_rotation

Desactiva la rotación de la tabla.

mysql.rds_rotate_global_status_history

Rota el contenido de la tabla mysql.rds_global_status_history a mysql.rds_global_status_history_old a petición.

Cuando se ejecuta GoSH, es posible consultar las tablas en las que escribe. Por ejemplo, para consultar la tasa de aciertos del grupo del búfer Innodb, debería utilizar la siguiente consulta:

select a.collection_end, a.collection_start, (( a.variable_Delta-b.variable_delta)/a.variable_delta)*100 as "HitRatio" from mysql.rds_global_status_history as a join mysql.rds_global_status_history as b on a.collection_end = b.collection_end where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads'