Errore Intermittente Ma Problematico - "Errore Durante la Connessione al Database"
Sono sicuro che avrai incontrato molti utenti qui che lamentano il seguente errore:
Errore durante la connessione al database
Ciò significa che le informazioni di username e password nel tuo file wp-config.php sono errate o non possiamo contattare il server del database su myamazingsite.com:3306. Potrebbe significare che il server database del tuo host è down.
Ti assicuro che non ho commesso i seguenti due errori/peccati mortali:
- Le mie variabili
DB_NAME
,DB_USER
,DB_PASSWORD
,DB_HOST
,DB_CHARSET
, eDB_COLLATE
sono corrette con le giuste credenziali. - Le mie
WP_HOME
eWP_SITEURL
sono commentate nel file di configurazione, ma le voci nel DB relative al nome del dominio (inwp_options
,wp_blogs
, ecc.) corrispondono tutte al nome del dominio instradato al mio server. Tutte includono il protocollo (https://
) dove richiesto o meno - sì inwp_options
, no inwp_blogs
, come esempio.
Quindi, non è un problema di credenziali. Inoltre, lo so perché è intermittente - si verifica circa una volta ogni 10 richieste al mio WordPress, semplicemente testandolo io stesso. Ma succede anche ai miei clienti mentre navigano il sito occasionalmente, e ovviamente questo non è accettabile.
Ho letto altrove che questo significa che è un problema di carico del server, perché si verifica solo occasionalmente. Ma non credo sia questo il caso, almeno non in questa situazione. Tutte le mie risorse sul server applicativo e sul server DB sono molto basse. Anche il traffico è piuttosto basso, non più di 3 richieste concorrenti al secondo.
Quindi forse era un problema di rete? No. Ho pingato il server DB dal server applicativo oltre 100 volte di seguito usando nping
e il ping non ha mai fallito con un tasso di successo del 100% in quel test. Inoltre, altre applicazioni sul server (non WordPress) non hanno problemi a connettersi allo stesso server DB.
Allora cosa potrebbe essere? Sono a corto di idee. Deve essere un altro bug/trucco specifico di WordPress che non conosco. Per favore aiutami!

Dovrei verificare i problemi di connessione al database. C'è un numero specifico di connessioni al database consentite - un'impostazione nella configurazione del database (non ricordo quale) - e se ci sono troppe connessioni, la connessione successiva fallirà.
Contatta il tuo hosting e chiedi loro di aumentare il numero di connessioni al database consentite. È un'impostazione che devono modificare loro, almeno nel mio hosting; non avevo accesso ai file di configurazione del database.
Potrebbero suggerirti di passare a un server dedicato, anziché un server condiviso - questo ha risolto un problema simile per me, anche se non pensavo che il sito avesse così tanto traffico da necessitare di un server dedicato.
Il mio problema simile (credo) è stato molto difficile da diagnosticare, quindi forse il "hai bisogno di un server dedicato" era solo una tattica per vendere un servizio più costoso.

Grazie per la tua risposta! Ma no, non credo sia questo. Non si tratta di un gran numero di connessioni. Sto usando AWS e non credo che limitino in quel modo come fanno alcuni host più gestiti - tutte le metriche di utilizzo sono basse. Spesso se aggiorno subito l'errore scompare per poi tornare immediatamente. L'azione massima che il mio database abbia mai visto è stata durante il test di ping, che ha restituito un successo del 100%.

Ho parlato troppo presto! C'è un limite - 312 connessioni contemporanee per il mio database. Ma non ha mai avuto neanche lontanamente quel numero di connessioni simultanee.

Potresti comunque raggiungere il limite di connessioni simultanee. Una richiesta di pagina può generare diverse richieste di connessione, a seconda di come sono costruiti il tema e i plugin. Il tuo hosting dovrebbe essere in grado di monitorare/visualizzare il conteggio delle tue connessioni simultanee in un periodo di tempo. Forse questo ti darà qualche informazione. È stato difficile per me diagnosticare questo errore su uno dei miei siti.
