Mysql
 sql >> Database >  >> RDS >> Mysql

ER_CON_COUNT_ERROR:Errore di troppe connessioni in node-mysql

MySQL per impostazione predefinita accetta solo 100 connessioni simultanee max. Nel tuo caso stai creando ~1500, quindi l'errore che ottieni è normale. Puoi aumentare questo valore ma il problema qui è nel tuo codice.

Dovresti usare invece una piscina. Questo farà in modo che il nodo crei un pool di connessioni (penso che l'impostazione predefinita sia 10) e le consenta di essere condivise dalle tue query:

    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();
          });
        });
    }

Inoltre potresti prendere in considerazione l'utilizzo di una singola connessione e inserire tutto in una volta. Puoi vedere in questo rispondi come ottenerlo.