Per la documentazione :
connection.end()
dovrebbe quindi essere chiamato solo quando si interrompe l'invio di query a MySQL, ovvero quando l'applicazione si arresta. Non dovresti creare/terminare connessioni continuamente:usa la stessa connessione per tutte le tue query (o usa un pool di connessioni per essere più efficiente).