Oslovil jsem lidi z node-mysql na jejich stránce Github a dostal několik pevných odpovědí.
-
MySQL skutečně ořezává nečinná připojení. Existuje proměnná MySQL "wait_timeout", která nastavuje počet sekund před vypršením časového limitu a výchozí hodnota je 8 hodin. Výchozí nastavení můžeme nastavit na mnohem větší. Použijte
show variables like 'wait_timeout';
zobrazíte nastavení časového limitu aset wait_timeout=28800;
změnit. -
Podle tohoto problému , node-mysql po těchto typech odpojení neořezává připojení k fondu. Vývojáři modulů doporučovali používat srdeční tep, aby spojení zůstalo živé, jako je volání
SELECT 1;
v intervalu. Doporučili také použít modul node-pool a jeho možnost idleTimeoutMillis pro automatické ořezávání nečinných připojení.