Mysql
 sql >> Datenbank >  >> RDS >> Mysql

NodeJS Server mit mysql hängt

Ich bin mir nicht sicher, ob Sie das node-mysql-Modul für Ihr Projekt verwenden, aber ich war es, und ich bin auf dasselbe ECONNRESET-Problem gestoßen. Hier ist eine Wiederholung meiner Antwort zu meinem Problem :

Ich habe die Leute von node-mysql auf ihrer Github-Seite kontaktiert und bekam einige feste Antworten.

  1. MySQL beschneidet in der Tat ungenutzte Verbindungen. Es gibt eine MySQL-Variable „wait_timeout“, die die Anzahl der Sekunden vor dem Timeout festlegt, und der Standardwert ist 8 Stunden. Wir können den Standardwert viel größer einstellen. Verwenden Sie show variables like 'wait_timeout'; , um Ihre Timeout-Einstellung anzuzeigen und set wait_timeout=28800; ändern.

  2. Laut dieser Ausgabe , node-mysql löscht keine Pool-Verbindungen nach solchen Verbindungsunterbrechungen. Die Modulentwickler empfahlen die Verwendung eines Heartbeats, um die Verbindung am Leben zu erhalten, wie z. B. das Aufrufen von SELECT 1; in einem Intervall. Sie empfahlen auch die Verwendung des Node-Pool-Moduls und die Option "idleTimeoutMillis" zum automatischen Löschen von Leerlaufverbindungen.