Mysql
 sql >> Database >  >> RDS >> Mysql

Il server NodeJS con mysql si blocca

Non sono sicuro che tu stia utilizzando il modulo node-mysql per il tuo progetto, ma lo ero e ho riscontrato lo stesso problema ECONNRESET. Ecco una ripetizione della mia risposta sul mio problema :

Ho contattato la gente di node-mysql sulla loro pagina Github e ho avuto delle risposte ferme.

  1. MySQL elimina effettivamente le connessioni inattive. C'è una variabile MySQL "wait_timeout" che imposta il numero di secondi prima del timeout e l'impostazione predefinita è 8 ore. Possiamo impostare il valore predefinito in modo che sia molto più grande di quello. Usa show variables like 'wait_timeout'; per visualizzare l'impostazione del timeout e set wait_timeout=28800; per cambiarlo.

  2. Secondo questo problema , node-mysql non elimina le connessioni del pool dopo questo tipo di disconnessioni. Gli sviluppatori del modulo hanno consigliato di utilizzare un heartbeat per mantenere attiva la connessione, ad esempio chiamando SELECT 1; su un intervallo. Hanno anche consigliato di utilizzare il modulo node-pool e la sua opzione idleTimeoutMillis per eliminare automaticamente le connessioni inattive.