Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ER_CON_COUNT_ERROR:Erro de muitas conexões no node-mysql


MySQL por padrão só aceita 100 conexões simultâneas no máximo. No seu caso, você está criando ~ 1500, então o erro que você recebe é normal. Você pode aumentar esse valor, mas o problema aqui está no seu código.

Você deve usar uma piscina em vez disso. Isso fará com que o node crie um pool de conexões (acho que o padrão é 10) e permitirá que elas sejam compartilhadas por suas consultas:
    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();
          });
        });
    }

Além disso, você pode querer considerar o uso de uma única conexão e inserir tudo de uma vez. Você pode ver neste responder como conseguir isso.