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 i picchi di latenza di scrittura nella mia istanza database Amazon RDS?
Desidero risolvere i picchi di latenza di scrittura nella mia istanza database Amazon Relational Database Service (Amazon RDS).
Breve descrizione
La metrica WriteLatency definisce il tempo medio impiegato da ciascuna operazione di I/O su disco. È consigliabile che la latenza di scrittura sia al di sotto dei 10 millisecondi.
Se intraprendi le seguenti azioni, l'istanza database potrebbe aumentare la latenza di scrittura:
- Crei un backup di Amazon RDS dell'istanza database Single-AZ.
- Modifichi un'istanza database RDS Single-AZ in un'istanza Multi-AZ.
- Ripristini da uno snapshot del database.
- Esegui un recupero point-in-time (PITR) dell'istanza database.
- Crei una nuova replica di lettura.
Il picco potrebbe anche derivare da operazioni di input/output al secondo (IOPS) o da un collo di bottiglia del throughput causato da un carico di lavoro pesante sul database.
Risoluzione
Risolvi i problemi relativi ai picchi di latenza
Per identificare la causa dell'elevata latenza di scrittura dell'istanza database, controlla le seguenti metriche di Amazon CloudWatch per Amazon RDS:
- WriteLatency
- WriteIOPS
- WriteThroughput
- DiskQueueDepth
- BurstBalance per uno spazio di archiviazione SSD (gp2) per uso generico
I valori seguenti mostrano che l'istanza database è sottoposta a un carico di lavoro elevato e richiede più risorse:
- I valori di latenza sono elevati.
- I valori di throughput e IOPS hanno raggiunto le quote massime.
- Il valore DiskQueueDepth è elevato.
- Per gp2, il valore BurstBalance è basso.
Per risolvere un problema relativo agli IOPS o al collo di bottiglia del throughput, intraprendi una delle seguenti azioni:
- Per un'istanza database con volumi gp2, controlla la classe dell'istanza database e le dimensioni dello spazio di archiviazione. Per ulteriori informazioni, consulta Tipi di istanza ottimizzati per Amazon EBS.
- Per un'istanza database che ha uno spazio di archiviazione con capacità di IOPS allocata (io1), controlla la classe dell'istanza database e la capacità di IOPS allocata.
Se le metriche di CloudWatch non mostrano che le risorse sono limitate, utilizza Monitoraggio avanzato per controllare la metrica writeIOsPS.
Nota: CloudWatch registra le metriche a intervalli di 60 secondi, per cui potrebbe non registrare ogni picco o calo. Puoi impostare la granularità di Monitoraggio avanzato su un intervallo di 1 secondo.
Se le metriche precedenti non mostrano la causa della latenza, controlla le metriche di CloudWatch NetworkReceiveThroughput e NetworkTransmitThroughput per individuare eventuali problemi di rete.
Riduci il caricamento lento
Quando esegui un PITR, modifichi un'istanza Single-AZ in un'istanza Multi-AZ o crei una nuova replica di lettura, può verificarsi un caricamento lento. Se provi ad accedere ai dati che Amazon RDS non ha caricato, l'istanza database scarica immediatamente i dati richiesti da Amazon Simple Storage Service (Amazon S3). L'istanza continua a caricare il resto dei dati in background.
Per ridurre il caricamento lento di tabelle a cui devi accedere rapidamente, esegui operazioni che prevedono scansioni complete della tabella, come SELECT *. Questo permette ad Amazon RDS di scaricare tutti i dati delle tabelle di backup da Amazon S3.
Per ridurre il caricamento lento dopo aver modificato un'istanza Single-AZ in un'istanza Multi-AZ, puoi anche intraprendere una delle seguenti azioni:
- Esegui un failover manuale subito dopo aver modificato l'istanza.
- Esegui un dump completo o solo le query richieste per caricare tutti i dati dalle tabelle. Per le istanze Amazon RDS per PostgreSQL, puoi eseguire il comando pg_prewarm.
Implementa le best practice per evitare la latenza elevata
Se riscontri una latenza elevata nell'istanza database, implementa le seguenti best practice:
- Assegna risorse sufficienti al database per eseguire le query. Il numero di risorse allocate si basa sul tipo di istanza.
- Utilizza Performance Insights per monitorare il carico di lavoro del database. Performance Insights può aiutarti a identificare le query SQL sottostanti in esecuzione nel database quando si verifica una latenza nell'applicazione. Quindi valuta il carico sul database per determinare ulteriori azioni.
- Modifica le dimensioni o il tipo del volume Amazon EBS per evitare microburst. Per ulteriori informazioni, consulta Come posso verificare se il mio volume EBS subisce eventi di microbursting e assicurarmi che ciò non influisca sulle prestazioni?
- Ottimizza le query per ottimizzare le prestazioni del database.
- Se stai modificando l'istanza Single-AZ in un'istanza Multi-AZ, esegui l'operazione durante l'orario non lavorativo.
- Crea allarmi in CloudWatch per le metriche di Amazon RDS affinché che l'istanza non subisca limitazioni.
Importante: Performance Insights giungerà al termine del suo ciclo di vita il 30 giugno 2026. Entro tale data puoi passare alla modalità Avanzata di Database Insights. Se non esegui l'aggiornamento, i cluster di database che utilizzano Performance Insights passeranno automaticamente alla modalità Standard di Database Insights. Solo la modalità Avanzata di Database Insights supporta i piani di esecuzione e l'analisi on demand. Se i cluster dovessero passare automaticamente alla modalità Standard, potresti non essere in grado di utilizzare queste funzionalità sulla console. Per attivare la modalità Avanzata, consulta Attivazione della modalità avanzata di Database Insights per Amazon RDS e Attivazione della modalità avanzata di Database Insights per Amazon Aurora.
Informazioni correlate
Understanding Burst vs. Baseline Performance with Amazon RDS and GP2 (Prestazioni di burst e baseline di Amazon RDS e gp2)
- Lingua
- Italiano
