关于mysql连接池问题
发布于 8 年前 作者 im-here 3526 次浏览 来自 问答

假如我数据库允许的最大连接数是100,而我nodejs代码里创建连接池的时候连接池数量是10.当用户请求的时候,已经用了10个连接之后,第11个连接上来的时候会出现什么情况,是排队等待?等连接池里这10个空闲一个的时候在继续,还是跳过连接池,直接从数据库那边操作(可能说的不准确,因为我也不知道怎么形容)。 如果是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?

4 回复

大概所有的连接池实现都一样 如果连接数达到上限,就得等,当然,也可也返回null

@wencan 嗯,查了下文档 确实是要等,也可以设置直接返回error

对于你的问题来说,由于 client 的限制比数据库的小,所以以数据库的为主。

但你那是单个进程10连接,如果用了 cluster 的话,就 40 个连接了。如果多台机器多个进程的话,那么数据库这边的 100 就生效了

@alsotang 嗯,明白。

回到顶部