MySQL theo mặc định chỉ chấp nhận tối đa 100 kết nối đồng thời. Trong trường hợp của bạn, bạn đang tạo ~ 1500 nên lỗi bạn gặp phải là bình thường. Bạn có thể tăng giá trị này nhưng vấn đề ở đây là ở mã của bạn.
Bạn nên sử dụng một hồ bơi để thay thế. Điều này sẽ làm cho nút tạo một nhóm các kết nối (tôi nghĩ mặc định là 10) và cho phép chúng được chia sẻ bởi các truy vấn của bạn:
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();
});
});
}
Ngoài ra, bạn có thể muốn xem xét sử dụng một kết nối duy nhất và chèn mọi thứ cùng một lúc. Bạn có thể xem trong điều này trả lời làm thế nào để đạt được điều đó.