Gestione della cronologia dello stato globale per RDS per MySQL - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione della cronologia dello stato globale per RDS per MySQL

Suggerimento

Per analizzare le prestazioni del database, puoi anche utilizzare la funzionalità Approfondimenti sulle prestazioni su Amazon RDS. Per ulteriori informazioni, consulta Monitoraggio del carico DB con Performance Insights su Amazon RDS.

MySQL mantiene molte variabili di stato che forniscono informazioni sul suo funzionamento. Il loro valore può aiutarti a rilevare problemi di blocco o di memoria su un'istanza database. I valori di queste variabili di stato sono cumulativi dal momento dell'ultimo avvio dell'istanza database. Puoi reimpostare la maggiore parte delle variabili di stato su 0 utilizzando il comando FLUSH STATUS.

Per consentire il monitoraggio di questi valori nel tempo, Amazon RDS fornisce un insieme di procedure che effettuano una snapshot dei valori di queste variabili di stato nel tempo e li scrivono su una tabella insieme alle modifiche eseguite dall'ultima snapshot. Questa infrastruttura, denominata GoSH (Global Status History, cronologia di stato globale), viene installata in tutte le istanze database MySQL a partire dalle versioni 5.5.23. La funzione GoSH è disabilitata per impostazione predefinita.

Per abilitare la funzione GoSH dovrai prima abilitare il pianificatore di eventi da un gruppo di parametri database impostando il parametro event_scheduler su ON. Anche per le istanze database MySQL su cui è in esecuzione MySQL 5.7, imposta il parametro show_compatibility_56 su 1. Per informazioni sulla creazione e la modifica di un gruppo di parametri database, consulta Gruppi di parametri per Amazon RDS. Per informazioni sugli effetti collaterali dell'abilitazione di questo parametro, consulta show_compatibility_56 nel Manuale di riferimento di MySQL 5.7.

Puoi utilizzare le procedure riportate nella seguente tabella per abilitare e configurare la funzione GoSH. Connettiti innanzitutto alla tua istanza database MySQL, quindi utilizza i comandi appropriati come mostrato di seguito. Per ulteriori informazioni, consulta Connessione all’istanza database MySQL. Per ogni procedura, esegui il comando seguente e sostituisci procedure-name:

CALL procedure-name;

La tabella seguente elenca tutte le procedure che puoi utilizzare per procedure-name nel comando precedente.

Procedura Descrizione

mysql.rds_enable_gsh_collector

Abilita la funzione GoSH per acquisire le snapshot per impostazione predefinita a intervalli specificati da rds_set_gsh_collector.

mysql.rds_set_gsh_collector

Specifica l'intervallo, in minuti, tra gli snapshot. Il valore predefinito è 5.

mysql.rds_disable_gsh_collector

Disabilita gli snapshot.

mysql.rds_collect_global_status_history

Acquisisce una snapshot a richiesta.

mysql.rds_enable_gsh_rotation

Abilita la rotazione dei contenuti della tabella mysql.rds_global_status_history su mysql.rds_global_status_history_old a intervalli specificati da rds_set_gsh_rotation.

mysql.rds_set_gsh_rotation

Specifica l'intervallo, in giorni, tra le conversioni delle tabelle. Il valore predefinito è 7.

mysql.rds_disable_gsh_rotation

Disabilita la rotazione delle tabelle.

mysql.rds_rotate_global_status_history

Ruota i contenuti della tabella mysql.rds_global_status_history su mysql.rds_global_status_history_old a richiesta.

Quando la funzione GoSH è in esecuzione, puoi inviare query alle tabelle su cui viene completata la scrittura. Ad esempio, per inviare una query per il numero di riscontri del buffer pool InnoDB, dovresti inviare la seguente query:

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'