MySQL accepteert standaard maximaal 100 gelijktijdige verbindingen. In jouw geval creëer je ~1500, dus de fout die je krijgt is normaal. U kunt deze waarde verhogen, maar het probleem hier zit in uw code.
U moet in plaats daarvan een zwembad gebruiken. Dit zorgt ervoor dat node een pool van verbindingen maakt (ik denk dat de standaard 10 is) en laat ze worden gedeeld door uw vragen:
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();
});
});
}
U kunt ook overwegen om een enkele verbinding te gebruiken en alles tegelijk in te voeren. Je kunt zien in dit antwoord hoe je dat kunt bereiken.