MySQL domyślnie akceptuje maksymalnie 100 jednoczesnych połączeń. W twoim przypadku tworzysz ~1500, więc wyświetlany błąd jest normalny. Możesz zwiększyć tę wartość, ale problem tkwi w Twoim kodzie.
Zamiast tego powinieneś użyć basenu. Spowoduje to, że węzeł utworzy pulę połączeń (myślę, że domyślnie jest to 10) i pozwoli na ich współdzielenie przez twoje zapytania:
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();
});
});
}
Możesz również rozważyć użycie jednego połączenia i wstawić wszystko na raz. Możesz zobaczyć w tym odpowiedz, jak to osiągnąć.