Il sito non riesce ad aprire nuove connessioni al database? Parti dal messaggio completo per distinguere la saturazione del server dal limite dell’account.
Indice dei contenuti
Che cosa significa
Il messaggio standard indica che le connessioni ordinarie disponibili sul server sono esaurite. I limiti del singolo utente possono produrre messaggi differenti.
Come riconoscere il problema
- Il messaggio standard “Too many connections” segnala che il server non accetta altre connessioni ordinarie.
- Un errore che cita il limite dell’utente richiede invece il controllo dei limiti assegnati all’account. Conserva il testo completo.
- Le sessioni in stato Sleep sono connessioni inattive, non query in esecuzione: la loro presenza da sola non dimostra un problema.
Cause più frequenti
- Query lente o bloccate
- Pool troppo grande
- Connessioni non chiuse
- Cron e bot
- max_user_connections
- max_connections non dimensionato
Diagnosi passo per passo
- Annota l’orario del picco e l’operazione che fallisce, poi chiedi di confrontare connessioni, query lente e transazioni bloccate in quel momento.
- Controlla quanti processi dell’applicazione aprono connessioni e se importazioni o job si sovrappongono.
- Distingui il limite globale del server da quello dell’utente. Su hosting condiviso, fai verificare i limiti dal supporto.
Procedura di risoluzione
- Correggi connessioni lasciate aperte e dimensiona il pool dell’applicazione in base al carico e ai limiti disponibili.
- Riduci le query lente o bloccate e distribuisci i job che si accavallano. Verifica l’effetto prima di cambiare altri parametri.
- Non terminare indiscriminatamente le sessioni Sleep: possono mantenere transazioni aperte. Qualunque interruzione va valutata dal gestore del database.
- Un aumento del limite richiede una valutazione delle risorse del server. Il riavvio può liberare connessioni temporaneamente, ma non elimina la causa.
Guide Xlogic correlate
- MySQL Error 1064: errore di sintassi SQL
- MySQL server has gone away: cause e soluzioni
- MySQL Error 1406: Data too long for column