为了账号安全,请及时绑定邮箱和手机立即绑定

node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连

node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连

MYYA 2019-03-07 18:27:28
问题1:node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连接数的关系是什么问题2:mysql max_connections是什么,max_used_connections是什么,两者的关系?为啥max_connecitons可以小于max_used_connections?问题3:mysql pool.on('connection',callback)在什么情况下触发?例如我的这段代码,什么时候触发connection事件?var mysql = require('mysql');var http = require('http');var pool  = mysql.createPool({    host     : 'localhost',    user     : 'guest',    password : '****',    database : 'test',    connectionLimit: 2});pool.on('acquire', function(connection){    console.log('connection %d accuired', connection.threadId);});pool.on('connection', function (connection) {    connection.query('SET SESSION auto_increment_increment=1')});pool.on('enqueue', function () {    console.log('Waiting for available connection slot');});// pool.end(function (err) {//     console.log('end!')// });http.createServer(function(req,res){    if(req.url==='/url1') {        pool.getConnection(function(err, connection) {            connection.query('select * from teacher', function(error,results,fields) {                if (error) throw error;                res.end(JSON.stringify(results));                // connection.release();            });        })    }    if(req.url==='/url2') {        pool.getConnection(function(err, connection) {            connection.query('select * from student', function(error,results,fields) {                if (error) throw error;                res.end(JSON.stringify(results));                connection.release();            });        })    }}).listen(8001);
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

个人理解:
1、connectionLimit 指的就是连接池可创建的最大连接数,mysql 没有最小连接数,connectionLimit 由应用程序开发者自己设置,肯定是要不超过 mysql 的最大连接数

2、max_connections 就是 mysql 能同时提供有效服务的最大连接数,max_used_connections 是到 mysql 的峰值连接数,max_connecitons 可以小于 max_used_connections,比如说:你的 max_connections 为 1000 ,但是应用程序某个时刻建立了 1250 个连接,这多出来的连接数中就会出现无法提供有效服务的情况,mysql 也会报错 too many connections

3、连接池中建立新的连接就会触发 connection 事件


查看完整回答
反对 回复 2019-03-15
  • 1 回答
  • 0 关注
  • 2119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信