Gerenciar o histórico de status global do RDS para MySQL
dica
Para analisar a performance do banco de dados, você também pode usar o Insights de Performance no Amazon RDS. Para ter mais informações, consulte Monitorar a carga de banco de dados com o Performance Insights no Amazon RDS.
O MySQL mantém muitas variáveis de status que fornecem informações sobre sua operação. Os valores podem lhe ajudar a detectar problemas de bloqueio ou memória em uma instância de banco de dados. Os valores dessas variáveis de status se acumulam desde a última vez que a instância de banco de dados foi iniciada. Você pode redefinir a maioria das variáveis de status para 0 usando o comando FLUSH STATUS
.
Para permitir o monitoramento desses valores ao longo do tempo, o Amazon RDS fornece um conjunto de procedimentos que fará o snapshot dos valores dessas variáveis de status ao longo do tempo e as registrará em uma tabela, juntamente com quaisquer alterações feitas desde o último snapshot. Esta infraestrutura, denominada GoSH (Histórico de status global), está instalada em todas as instâncias de banco de dados MySQL, desde as versões 5.5.23. O GoSH é desabilitado por padrão.
Para habilitar o GoSH, primeiro habilite o programador de eventos por meio de um grupo de parâmetros de banco de dados, definindo o parâmetro event_scheduler
como ON
. Para instâncias de banco de dados do MySQL que executam o MySQL 5.7, defina também o parâmetro show_compatibility_56
para 1
. Para obter informações sobre como criar e modificar um grupo de parâmetros de banco de dados, consulte Grupos de parâmetros para Amazon RDS. Para obter informações sobre os efeitos colaterais da habilitação desse parâmetro, consulteshow_compatibility_56
Você poderá, então, usar os procedimentos na tabela a seguir para habilitar e configurar o GoSH. Primeiro, conecte-se à sua instância de banco de dados MySQL. Depois disso, emita os comandos apropriados, conforme mostrado a seguir. Para ter mais informações, consulte Conexão a uma instância de banco de dados executando o mecanismo de banco de dados do MySQL. Para cada procedimento, execute o comando a seguir e substitua procedure-name
:
CALL
procedure-name
;
A tabela a seguir lista todos os procedimentos que você pode usar para procedure-name
no comando anterior.
Procedimento | Descrição |
---|---|
|
Permite que o GoSH faça snapshots padrão em intervalos especificados por |
|
Especifica o intervalo em minutos entre snapshots. O valor padrão é 5. |
|
Desabilita os snapshots. |
|
Faz um snapshot sob demanda. |
|
Permite o revezamento do conteúdo da tabela |
|
Especifica o intervalo em dias entre os revezamentos de tabelas. O valor padrão é 7. |
|
Desabilita o revezamento de tabelas. |
|
Reveza o conteúdo da tabela |
Quando o GoSH estiver sendo executado, você pode consultar as tabelas nas quais ele grava. Por exemplo, para consultar a taxa de acerto do grupo de buffer do Innodb, você deve emitir a seguinte 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'