Par la documentation :
connection.end()
est alors censé être appelé uniquement lorsque vous arrêtez d'envoyer des requêtes à MySQL, c'est-à-dire lorsque votre application s'arrête. Vous ne devez pas créer/mettre fin à des connexions tout le temps :utilisez simplement la même connexion pour toutes vos requêtes (ou utilisez un pool de connexions pour être plus efficace).