MySQL standardně akceptuje maximálně 100 současných připojení. Ve vašem případě vytváříte ~1500, takže chyba, kterou dostanete, je normální. Tuto hodnotu můžete zvýšit, ale problém je ve vašem kódu.
Místo toho byste měli použít bazén. To způsobí, že uzel vytvoří fond připojení (myslím, že výchozí hodnota je 10) a nechá je sdílet vaše dotazy:
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();
});
});
}
Můžete také zvážit použití jediného připojení a vložit vše najednou. Můžete se podívat toto odpovědět, jak toho dosáhnout.