假如我数据库允许的最大连接数是100,而我nodejs代码里创建连接池的时候连接池数量是10.当用户请求的时候,已经用了10个连接之后,第11个连接上来的时候会出现什么情况,是排队等待?等连接池里这10个空闲一个的时候在继续,还是跳过连接池,直接从数据库那边操作(可能说的不准确,因为我也不知道怎么形容)。 如果是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?
回复 (4)
A
对于你的问题来说,由于 client 的限制比数据库的小,所以以数据库的为主。
但你那是单个进程10连接,如果用了 cluster 的话,就 40 个连接了。如果多台机器多个进程的话,那么数据库这边的 100 就生效了
W
大概所有的连接池实现都一样 如果连接数达到上限,就得等,当然,也可也返回null
I
引用 wencan大概所有的连接池实现都一样 如果连接数达到上限,就得等,当然,也可也返回null
@wencan 嗯,查了下文档 确实是要等,也可以设置直接返回error
参与回复
登录后即可参与回复。登录