

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\$1connessione
<a name="ams-waits.client-connection"></a>

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

**Topics**
+ [Versioni del motore supportate](#ams-waits.client-connection.context.supported)
+ [Contesto](#ams-waits.client-connection.context)
+ [Probabili cause di aumento delle attese](#ams-waits.client-connection.causes)
+ [Azioni](#ams-waits.client-connection.actions)

## Versioni del motore supportate
<a name="ams-waits.client-connection.context.supported"></a>

Queste informazioni sull'evento di attesa sono supportate per le seguenti versioni del motore:
+ Aurora MySQL versioni 2 e 3

## Contesto
<a name="ams-waits.client-connection.context"></a>

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)](AuroraMySQL.Managing.Tuning.concepts.md#AuroraMySQL.Managing.Tuning.concepts.processes.mysqld).

## Probabili cause di aumento delle attese
<a name="ams-waits.client-connection.causes"></a>

Quando questo evento si verifica più del normale, probabilmente indicando un problema di prestazioni, le cause tipiche includono le seguenti:
+ C'è un improvviso aumento delle nuove connessioni utente dall'applicazione alla istanza Amazon RDS.
+ L'istanza database non è in grado di elaborare nuove connessioni perché la rete, la CPU o la memoria sono state limitate.

## Azioni
<a name="ams-waits.client-connection.actions"></a>

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.

**Topics**
+ [Identificare le sessioni e le query problematiche](#ams-waits.client-connection.actions.identify-queries)
+ [Seguire le best practice per la gestione delle connessioni](#ams-waits.client-connection.actions.manage-connections)
+ [Dimensiona verso l’alto la tua istanza se le risorse vengono limitate](#ams-waits.client-connection.upgrade)
+ [Controlla i principali host e i migliori utenti](#ams-waits.client-connection.top-hosts)
+ [Interrogare le tabelle performance\$1schema](#ams-waits.client-connection.perf-schema)
+ [Controlla lo stato del thread delle query](#ams-waits.client-connection.thread-states)
+ [Verifica le tue richieste e le query](#ams-waits.client-connection.auditing)
+ [Crea pool delle connessioni al database](#ams-waits.client-connection.pooling)

### Identificare le sessioni e le query problematiche
<a name="ams-waits.client-connection.actions.identify-queries"></a>

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 carichi di lavoro di Amazon Aurora MySQL con Performance Insights](https://aws.amazon.com/blogs/database/analyze-amazon-aurora-mysql-workloads-with-performance-insights/).

**Per identificare sessioni e query che causano un collo di bottiglia**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegli **Approfondimenti sulle prestazioni**.

1. Scegli l'istanza database.

1. In **Carico del database**, scegli **Dividi per attesa**.

1. Nella parte inferiore della pagina scegli **Prime Instruzioni SQL**.

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

### Seguire le best practice per la gestione delle connessioni
<a name="ams-waits.client-connection.actions.manage-connections"></a>

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 whitepaper [Manuale dell'amministratore del database di Amazon Aurora MySQL](https://d1.awsstatic.com/whitepapers/RDS/amazon-aurora-mysql-database-administrator-handbook.pdf).
+ Usa un nodo lettore per ridistribuire il traffico di sola lettura.

  Per ulteriori informazioni, consultare [Repliche di Aurora](Aurora.Replication.md#Aurora.Replication.Replicas) e [Connessioni degli endpoint Amazon Aurora](Aurora.Overview.Endpoints.md).

### Dimensiona verso l’alto la tua istanza se le risorse vengono limitate
<a name="ams-waits.client-connection.upgrade"></a>

Cerca esempi di limitazione nelle seguenti risorse:
+ CPU

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

  Verifica la presenza di un aumento del valore delle CloudWatch metriche `network receive throughput` e. `network transmit throughput` Se l’istanza ha raggiunto il limite di larghezza di banda di rete per la classe di istanza, è consigliabile dimensionare verso l’alto l'istanza RDS a un tipo di classe di istanza superiore. Per ulteriori informazioni, consulta [Classi di istanze DB Amazon Aurora](Concepts.DBInstanceClass.md).
+ Memoria liberabile 

  Verifica la presenza di un calo della CloudWatch metrica`FreeableMemory`. Inoltre, prendi in considerazione l'attivazione del monitoraggio avanzato. Per ulteriori informazioni, consulta [Monitoraggio dei parametri del sistema operativo con il monitoraggio avanzato](USER_Monitoring.OS.md).

### Controlla i principali host e i migliori utenti
<a name="ams-waits.client-connection.top-hosts"></a>

Usa Performance Insights per controllare i principali host e i migliori utenti. Per ulteriori informazioni, consulta [Analisi delle metriche utilizzando il pannello di controllo Performance Insights](USER_PerfInsights.UsingDashboard.md).

### Interrogare le tabelle performance\$1schema
<a name="ams-waits.client-connection.perf-schema"></a>

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
<a name="ams-waits.client-connection.thread-states"></a>

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
<a name="ams-waits.client-connection.auditing"></a>

Per verificare la natura delle richieste e delle interrogazioni provenienti dagli account utente, usa AuroraAurora MySQL Advanced Auditing. Per informazioni su come attivare l'auditing, consulta [Utilizzo dell'audit avanzato con un cluster di database Amazon Aurora MySQL](AuroraMySQL.Auditing.md).

### Crea pool delle connessioni al database
<a name="ams-waits.client-connection.pooling"></a>

Valuta l'utilizzo di Amazon RDS Proxy per la gestione della connessione. Con RDS Proxy, è possibile consentire alle applicazioni di creare pool delle connessioni di database e condividerle per migliorare la loro capacità di dimensionamento. RDS Proxy rende le applicazioni più resilienti agli errori del database connettendosi automaticamente a un'istanza database di standby, mantenendo al contempo le connessioni delle applicazioni. Per ulteriori informazioni, consulta [Proxy Amazon RDS per Aurora](rds-proxy.md).