我想知道spring数据mongodb连接池如何工作。
想象一下连接到的Spring Boot Rest API服务器 mongodb通过spring数据mongodb。如果默认的连接池大小为100, 这是否意味着只能同时处理100个curl请求?如果同时有200个请求怎么办?
我如何知道给定服务器的最大池大小?例如,如果我有一台具有8 GB RAM的服务器,我可以设置的最大池大小是多少?如果我将池大小设置为100万并且服务器无法处理100万个mongodb池大小,会发生什么情况
答案 0 :(得分:0)
Mongodb
连接池将由MongoDB
服务器根据您传递给它的参数进行管理。
默认情况下,maxPoolSize
设置为100
要修改它,您可以传递这样的值
spring.data.mongodb.uri=mongodb://localhost:27017/?connectTimeoutMS=30000&minPoolSize=0&maxPoolSize=50
Refer doc了解更多信息
如果同时有200个请求会怎样?
通常,当池达到此大小且没有空闲连接可用时,对getConnection()
的调用将在超时前最多阻塞connectionTimeout
毫秒。