Ik heb contact opgenomen met de node-mysql-mensen op hun Github-pagina en kreeg een aantal stevige antwoorden.
-
MySQL snoeit inderdaad inactieve verbindingen. Er is een MySQL-variabele "wait_timeout" die het aantal seconden voor de time-out instelt en de standaardwaarde is 8 uur. We kunnen de standaard veel groter instellen dan dat. Gebruik
show variables like 'wait_timeout';
om uw time-outinstelling te bekijken enset wait_timeout=28800;
om het te wijzigen. -
Volgens dit probleem , snoeit node-mysql geen poolverbindingen na dit soort verbroken verbindingen. De moduleontwikkelaars adviseerden om een hartslag te gebruiken om de verbinding in stand te houden, zoals het aanroepen van
SELECT 1;
op een interval. Ze raden ook aan om de node-pool-module te gebruiken en de idleTimeoutMillis-optie om inactieve verbindingen automatisch te verwijderen.