MySQL accepterar som standard endast 100 samtidiga anslutningar max. I ditt fall skapar du ~1500 så felet du får är normalt. Du kan öka detta värde men problemet här ligger i din kod.
Du bör använda en pool istället. Detta kommer att få noden att skapa en pool av anslutningar (jag tror att standarden är 10) och låta dem delas av dina frågor:
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'xxx.xxx.xxx.xxx',
database : 'mydb',
user : 'test',
password : 'test'
});
for (var i=0; i<size;i++) {
pool.getConnection(function(err, connection) {
connection.query( 'INSERT INTO ...', function(err, rows) {
connection.release();
});
});
}
Du kanske också vill överväga att använda en enda anslutning och sätta in allt på en gång. Du kan se i detta svara på hur man uppnår det.