

# Gerenciar o histórico de status global do RDS para MySQL
<a name="Appendix.MySQL.CommonDBATasks.GoSH"></a>

**dica**  
Para analisar a performance do banco de dados, você também pode usar o Insights de Performance no Amazon RDS. Para obter mais informações, consulte [Monitorar a carga de banco de dados com o Performance Insights no Amazon RDS](USER_PerfInsights.md).

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](USER_WorkingWithParamGroups.md). Para obter informações sobre os efeitos colaterais da habilitação desse parâmetro, consulte[show\$1compatibility\$156](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_show_compatibility_56) no*MySQL 5.7 Reference Manual*.

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 obter mais informações, consulte [Conectar-se à instância de banco de dados do MySQL](USER_ConnectToInstance.md). 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 | 
| --- | --- | 
| `mysql.rds_enable_gsh_collector` |  Permite que o GoSH faça snapshots padrão em intervalos especificados por `rds_set_gsh_collector`.   | 
| `mysql.rds_set_gsh_collector` |  Especifica o intervalo em minutos entre snapshots. O valor padrão é 5.   | 
| `mysql.rds_disable_gsh_collector` |  Desabilita os snapshots.   | 
| `mysql.rds_collect_global_status_history` |  Faz um snapshot sob demanda.   | 
| `mysql.rds_enable_gsh_rotation` |  Permite o revezamento do conteúdo da tabela `mysql.rds_global_status_history` com o da `mysql.rds_global_status_history_old` em intervalos especificados pelo `rds_set_gsh_rotation`.   | 
| `mysql.rds_set_gsh_rotation` |  Especifica o intervalo em dias entre os revezamentos de tabelas. O valor padrão é 7.   | 
| `mysql.rds_disable_gsh_rotation` |  Desabilita o revezamento de tabelas.   | 
| `mysql.rds_rotate_global_status_history` |  Reveza o conteúdo da tabela `mysql.rds_global_status_history` para o da `mysql.rds_global_status_history_old` sob demanda.   | 

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'
```