io/aurora_respond_to_client - Amazon Aurora

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à.

io/aurora_respond_to_client

L’evento io/aurora_respond_to_client si verifica quando un thread è in attesa di restituire una serie di risultati a un client.

Versioni del motore supportate

Queste informazioni sull'evento di attesa sono supportate per le seguenti versioni del motore:

  • Aurora La mia versione 2 SQL

Context

L'evento io/aurora_respond_to_client indica che un thread è in attesa di restituire una serie di risultati a un client.

L'elaborazione della query è completa e i risultati vengono restituiti al client dell'applicazione. Tuttavia, poiché non c'è abbastanza larghezza di banda di rete nel cluster del database, un thread è in attesa di restituire la serie di risultati.

Probabili cause di aumento delle attese

Quando l’evento io/aurora_respond_to_client appare più che normale, possibilmente indicando un problema di prestazioni, le cause tipiche includono le seguenti:

Classe di istanza database insufficiente per il carico di lavoro

La classe di istanza database utilizzata dal cluster del database non dispone della larghezza di banda di rete necessaria per elaborare il carico di lavoro in modo efficiente.

Serie di risultati di grandi dimensioni

Si è verificato un aumento delle dimensioni della serie di risultati restituiti, poiché la query restituisce un numero maggiore di righe. La serie di risultati più ampia consuma una maggiore larghezza di banda di rete.

Aumento del carico sul client

Potrebbe esserci CPU pressione, pressione della memoria o saturazione della rete sul client. Un aumento del carico sul client ritarda la ricezione dei dati dal cluster Aurora SQL My DB.

Maggiore latenza di rete

Potrebbe esserci un aumento della latenza di rete tra il cluster Aurora SQL My DB e il client. Una maggiore latenza di rete aumenta il tempo necessario per la ricezione dei dati dal client.

Azioni

Consigliamo azioni diverse a seconda delle cause dell'evento di attesa.

Identificare le sessioni e le query che causano gli eventi

È possibile utilizzare Performance Insights per mostrare le query bloccate dall’evento di attesa io/aurora_respond_to_client. In genere, i database con carico da moderato a significativo hanno eventi di attesa. Gli eventi di attesa possono essere accettabili se le prestazioni sono ottimali. Se le prestazioni non sono ottimali, esaminare dove il database impiega più tempo. Considerare gli eventi di attesa che contribuiscono al carico più elevato per scoprire se è possibile ottimizzare il database e l'applicazione per ridurre tali eventi.

Per trovare le SQL interrogazioni responsabili di un carico elevato
  1. Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel pannello di navigazione scegli Approfondimenti sulle prestazioni.

  3. Scegli un'istanza database. Viene visualizzato il pannello di controllo di Approfondimenti sulle prestazioni per l'istanza database.

  4. Nel grafico Carico del database, scegli Dividi per attesa.

  5. Nella parte inferiore della pagina, scegli Top SQL.

    Il grafico elenca le SQL interrogazioni responsabili del carico. Quelli in cima all'elenco sono le più responsabili. Per risolvere un collo di bottiglia, occorre concentrarsi su queste istruzioni.

Per un'utile panoramica sulla risoluzione dei problemi con Performance Insights, consulta il post del blog AWS Database Analyze Amazon Aurora My SQL Workloads with Performance Insights.

Dimensionamento della classe dell’istanza database

Verifica l'aumento del valore delle CloudWatch metriche di Amazon relative al throughput di rete, ad esempio NetworkReceiveThroughput e. NetworkTransmitThroughput Se viene raggiunta la larghezza di banda di rete della classe di istanza database, è possibile dimensionare la classe di istanza database utilizzata dal cluster del database modificando il cluster del database. Una classe di istanze database con larghezza di banda di rete maggiore restituisce i dati ai client in modo più efficiente.

Per informazioni sul monitoraggio dei CloudWatch parametri di Amazon, consultaVisualizzazione delle metriche nella console Amazon RDS. Per informazioni sulle classi di istanza database, consulta Classi di istanze DB Amazon Aurora. Per ulteriori informazioni sulla modifica di un cluster di database, consulta Modifica di un cluster database Amazon Aurora.

Verifica del carico di lavoro per risultati imprevisti

Controlla il carico di lavoro sul cluster del database e assicurati che non produca risultati imprevisti. Ad esempio, potrebbero esserci query che restituiscono un numero di righe più alto del previsto. In questo caso, puoi utilizzare i parametri del contatore di Performance Insights come Innodb_rows_read. Per ulteriori informazioni, consulta Parametri contatore di Performance Insights.

Distribuisci il carico di lavoro con le istanze del lettore

È possibile distribuire il carico di lavoro di sola lettura con le repliche di Aurora. È possibile dimensionare orizzontalmente aggiungendo più repliche di Aurora. Ciò può comportare un aumento dei limiti per la larghezza di banda della rete. Per ulteriori informazioni, consulta Cluster database Amazon Aurora.

Usa il SQL modificatore _ BUFFER _ RESULT

Puoi aggiungere il modificatore SQL_BUFFER_RESULT alle istruzioni SELECT per forzare il risultato in una tabella temporanea prima che vengano restituite al client. Questo modificatore può aiutare a risolvere i problemi di prestazioni quando i blocchi InnoDB non vengono liberati perché le query sono presenti nello stato di attesa io/aurora_respond_to_client. Per ulteriori informazioni, vedi SELECTDichiarazione nella mia SQL documentazione.