Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Come posso risolvere l'utilizzo elevato della CPU e la lentezza delle prestazioni delle query dopo aver aggiornato la mia istanza database Amazon RDS per MySQL o Aurora compatibile con MySQL?
È stato effettuato un importante aggiornamento della versione della mia istanza database Amazon Relational Database Service (Amazon RDS) per MySQL o Amazon Aurora compatibile con MySQL. Ora le prestazioni delle query sono lente e l'utilizzo della CPU è elevato.
Risoluzione
Prerequisiti:
Per evitare problemi di diagnosi errate, struttura correttamente il flusso di lavoro per la risoluzione dei problemi e utilizza gli strumenti e i servizi AWS. Per ulteriori informazioni, fai riferimento ai seguenti articoli:
- Come posso risolvere i problemi relativi all'utilizzo elevato della CPU in un'istanza database Amazon RDS per MySQL o Aurora compatibile con MySQL?
- Come posso risolvere i problemi relativi a una query lenta e migliorarne le prestazioni in Amazon RDS per MySQL?
Verifica la presenza di problemi specifici relativi all'aggiornamento
Quando aggiorni un'istanza, ad esempio da Aurora 5.7 compatibile con MySQL a Aurora 8.0 compatibile con MySQL, l'aggiornamento potrebbe rimuovere alcune funzionalità dall'istanza.
Se l'istanza utilizza funzionalità obsolete, potresti riscontrare problemi con le sue prestazioni. Per verificare se la versione dell'istanza utilizza funzionalità obsolete che influiscono sul carico di lavoro, consulta Note di rilascio di Amazon Aurora edizione compatibile con MySQL. Oppure consulta MySQL 8.0 Release notes (Note di rilascio di MySQL 8.0) sul sito web MySQL.
Nel seguente esempio di scenario, aggiorni un cluster di Aurora 5.7 compatibile con MySQL a un cluster di Aurora 8.0 compatibile con MySQL. Dopo l'aggiornamento, la CPU dell'istanza di scrittura raddoppia, anche se le query, i piani di esecuzione e i modelli di carico di lavoro sono gli stessi.
Per risolvere il problema, puoi esaminare le metriche del cluster di Amazon RDS per MySQL o di Aurora compatibile con MySQL. In base al problema, confronta le relative metriche del cluster per la versione precedente e per la quella aggiornata.
Esempio di metriche di Aurora 5.7 compatibile con MySQL:
SHOW GLOBAL STATUS LIKE 'Qcache%';
Esempio di metriche di Aurora 8.0 compatibile con MySQL:
`mysql> SHOW STATUS LIKE 'Qcache%';` `+-------------------------+--------+` `| Variable_name | Value |` `+-------------------------+--------+` `| Qcache_free_blocks | 36 |` `| Qcache_free_memory | 138488 |` `| Qcache_hits | 79570 |` `| Qcache_inserts | 27087 |` `| Qcache_lowmem_prunes | 3114 |` `| Qcache_not_cached | 22989 |` `| Qcache_queries_in_cache | 415 |` `| Qcache_total_blocks | 912 |` `+-------------------------+--------+`
In questo esempio, Aurora 8.0 compatibile con MySQL ha rimosso una funzionalità che utilizzava la cache per le query in modo da evitare esecuzioni complete. Senza questa funzionalità, Aurora MySQL esegue completamente tutte le query raddoppiando il carico di lavoro.
Se noti picchi nella CPU dell'istanza, esamina le seguenti metriche:
- Query
- Com_select
- Innodb_rows_read
Per risolvere i problemi relativi a queste metriche, completa le seguenti attività:
- Aumenta verticalmente per gestire il carico immediato della CPU.
- Utilizza istruzioni preparate. Per ulteriori informazioni, consulta Prepared statements (Istruzioni preparate) sul sito web MySQL.
- Utilizza Amazon ElastiCache per memorizzare nella cache le impostazioni del cluster.
Ulteriori passaggi per la risoluzione dei problemi
Puoi confrontare la versione precedente dei piani di esecuzione con i piani di esecuzione della versione aggiornata per analizzare meglio i problemi. Per confrontare le impostazioni dei gruppi di parametri, utilizza la query EXPLAIN FORMAT=JSON. Le configurazioni critiche, come EXPLAIN FORMAT=JSON devono essere le stesse in entrambe le versioni. Per ulteriori informazioni, consulta Configuring InnoDB Buffer Pool Size (Configurazione della dimensione del pool di buffer di InnoDB) e EXPLAIN Statement (Istruzione EXPLAIN) sul sito web MySQL.
È consigliabile utilizzare la funzionalità di clonazione di Aurora per testare gli aggiornamenti in un ambiente di gestione temporanea. Puoi utilizzare strumenti come Sysbench per simulare i carichi di lavoro nell'ambiente di gestione temporanea. Quindi utilizza strumenti AWS come AWS Database Insights e Monitoraggio avanzato per monitorare le metriche principali.
- Argomenti
- Database
- Tag
- Aurora MySQL
- Lingua
- Italiano
