CNode

关于mysql连接池问题

问答
Iim-here发布于11 年前最后回复11 年前4 回复4086 浏览0 收藏

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

查看回复

回复 (4)

A
alsotang#1·11 年前

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

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

W
wencan#2·11 年前

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

I
im-here#3·11 年前
参与回复
登录后即可参与回复。登录