io/socket/sql/client_connessione - 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/socket/sql/client_connessione

L’evento io/socket/sql/client_connection si verifica quando un thread sta per gestire una nuova connessione.

Versioni del motore supportate

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

  • Aurora SQL Le mie versioni 2 e 3

Context

L'evento io/socket/sql/client_connection indica che mysqld è impegnato a creare thread per gestire le nuove connessioni client in arrivo. In questo scenario, l'elaborazione della manutenzione delle nuove richieste di connessione client rallenta mentre le connessioni attendono l'assegnazione del thread. Per ulteriori informazioni, consulta Server MySQL (mysqld).

Probabili cause di aumento delle attese

Quando l'evento si verifica più del normale, probabilmente indicando un problema di prestazioni, le cause tipiche includono le seguenti:

  • C'è un aumento improvviso delle nuove connessioni utente dall'applicazione alla tua RDS istanza Amazon.

  • La tua istanza DB non può elaborare nuove connessioni perché la CPU rete o la memoria sono limitate.

Azioni

Se io/socket/sql/client_connection domina l'attività del database, non indica necessariamente un problema di prestazioni. In un database che non è inattivo, un evento di attesa è sempre in primo piano. Agisci solo quando le prestazioni diminuiscono. Consigliamo azioni diverse a seconda delle cause dell'evento di attesa.

Identificare le sessioni e le query problematiche

Se l'istanza database sta riscontrando un collo di bottiglia, il primo compito è quello di trovare le sessioni e le query che lo causano. Per un utile post sul blog, consulta Analizza i miei SQL carichi di lavoro di Amazon Aurora con Performance Insights.

Per identificare sessioni e query che causano un collo di bottiglia
  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 l'istanza database.

  4. In Carico del database, scegli Dividi per attesa.

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

    Le query nella parte superiore dell'elenco causano il carico più alto sul database.

Seguire le best practice per la gestione delle connessioni

Per gestire le tue connessioni, considera le seguenti strategie:

  • Utilizza il pooling di connessioni.

    È possibile aumentare gradualmente il numero di connessioni secondo necessità. Per ulteriori informazioni, consulta il white paper Amazon Aurora My SQL Database Administrator's Handbook.

  • Usa un nodo lettore per ridistribuire il traffico di sola lettura.

    Per ulteriori informazioni, consulta Repliche di Aurora e Connessioni endpoint Amazon Aurora.

Dimensiona verso l’alto la tua istanza se le risorse vengono limitate

Cerca esempi di limitazione nelle seguenti risorse:

  • CPU

    Controlla i CloudWatch parametri di Amazon per un CPU utilizzo elevato.

  • Rete

    Verifica la presenza di un aumento del valore delle CloudWatch metriche network receive throughput e. network transmit throughput Se la tua istanza ha raggiunto il limite di larghezza di banda di rete per la tua classe di istanza, valuta la possibilità di scalare l'RDSistanza a un tipo di classe di istanza superiore. Per ulteriori informazioni, consulta Classi di istanze DB Amazon Aurora.

  • Memoria liberabile

    Verifica se la metrica non è diminuita CloudWatch . FreeableMemory Inoltre, prendi in considerazione l'attivazione del monitoraggio avanzato. Per ulteriori informazioni, consulta Monitoraggio dei parametri del sistema operativo con il monitoraggio avanzato.

Controlla i principali host e i migliori utenti

Usa Performance Insights per controllare i principali host e i migliori utenti. Per ulteriori informazioni, consulta Per analizzare il parametro utilizzando il pannello di controllo di Performance Insights.

Interrogare le tabelle performance_schema

Per ottenere un conteggio accurato delle connessioni correnti e totali, eseguire una query sulle tabelle performance_schema. Con questa tecnica, si identifica l'utente o l'host di origine responsabile della creazione di un numero elevato di connessioni. Ad esempio, interrogare le tabelle performance_schema come indicato di seguito.

SELECT * FROM performance_schema.accounts; SELECT * FROM performance_schema.users; SELECT * FROM performance_schema.hosts;

Controlla lo stato del thread delle query

Se il problema relativo alle prestazioni è continuo, controlla lo stato del thread delle query. Nel client mysql, eseguire il comando seguente.

show processlist;

Verifica le tue richieste e le query

Per verificare la natura delle richieste e delle interrogazioni provenienti dagli account utente, usa AuroraAurora My SQL Advanced Auditing. Per informazioni su come attivare l'auditing, consulta Utilizzo del controllo avanzato con un cluster Amazon Aurora My DB SQL.

Crea pool delle connessioni al database

Prendi in considerazione l'utilizzo di Amazon RDS Proxy per la gestione delle connessioni. Utilizzando RDS Proxy, puoi consentire alle tue applicazioni di raggruppare e condividere connessioni al database per migliorarne la scalabilità. RDS Il proxy rende le applicazioni più resistenti agli errori del database connettendosi automaticamente a un'istanza DB in standby e preservando al contempo le connessioni delle applicazioni. Per ulteriori informazioni, consulta RDSProxy Amazon per Aurora.