MySQL por defecto solo acepta 100 conexiones simultáneas como máximo. En su caso, está creando ~ 1500, por lo que el error que obtiene es normal. Puede aumentar este valor, pero el problema aquí está en su código.
Deberías usar una piscina en su lugar. Esto hará que el nodo cree un grupo de conexiones (creo que el valor predeterminado es 10) y permitirá que sus consultas las compartan:
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();
});
});
}
También puede considerar usar una sola conexión e insertar todo a la vez. Puedes ver en esto responde cómo lograrlo.