Errore Intermittente Ma Problematico - "Errore Durante la Connessione al Database"

1 ago 2019, 02:35:07
Visualizzazioni: 291
Voti: 0

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:

  1. Le mie variabili DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_CHARSET, e DB_COLLATE sono corrette con le giuste credenziali.
  2. Le mie WP_HOME e WP_SITEURL sono commentate nel file di configurazione, ma le voci nel DB relative al nome del dominio (in wp_options, wp_blogs, ecc.) corrispondono tutte al nome del dominio instradato al mio server. Tutte includono il protocollo (https://) dove richiesto o meno - sì in wp_options, no in wp_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!

0
Tutte le risposte alla domanda 1
3

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.

1 ago 2019 03:33:29
Commenti

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

Søren Søren
1 ago 2019 03:46:22

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.

Søren Søren
1 ago 2019 03:52:24

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.

Rick Hellewell Rick Hellewell
1 ago 2019 18:17:56