sql >> Databáze >  >> RDS >> Mysql

ER_CON_COUNT_ERROR:Chyba příliš velkého počtu připojení v node-mysql

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.



  1. Nelze předat parametr 2 odkazem - uuid PDO

  2. Spouštění skriptů SQL na kontejneru dockeru

  3. Mysql Vybrat odlišné záznamy pouze z nejnovějších dat

  4. Co přesně mi PostgreSQL vysvětluje?