在 Spring 启动应用程序中配置 mongodb 属性 maxWaitQueueSize?

rav*_*rab 4 mongodb spring-boot

com.mongodb.MongoWaitQueueFullException: Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 500 has been exceeded.对我的应用程序进行压力测试时出现错误。

所以我想maxWaitQueueSize通过配置来配置属性。

我正在使用 spring boot 来配置 mongodb 连接。我在我的应用程序中使用 @EnableAutoConfiguration 并且我只spring.data.mongodb.uri=mongodb://user:password@ip:27017在 application.properties 文件中声明。

如何maxWaitQueueSize使用 spring boot配置属性?

我如何为 确定一个好的价值maxWaitQueueSize

Ali*_*ani 5

如果您使用的是 MongoDB 3.0+,则可以waitQueueMultiplemongouri 中进行设置:

spring.data.mongodb.uri=mongodb://user:password@ip:27017/?waitQueueMultiple=10
Run Code Online (Sandbox Code Playgroud)

waitQueueMultiple是驱动程序将该maxPoolSize值乘以的数字,以提供允许等待连接从池中可用的最大线程数。

如何为 maxWaitQueueSize 确定一个合适的值?

它与 MongoDB 没有直接关系,但您可以在Hikari github wiki 中阅读有关池大小调整的更多信息。