异常日志:
Out of semaphores to get db connection
查看源代码发现是连接池资源用尽:
查代码看原因:
DBPortPool 写道
if ( ! _waitingSem.tryAcquire() )
throw new SemaphoresOut();
_waitingSem初始化代码
DBPortPool 写道
_waitingSem = new Semaphore( _options.connectionsPerHost * _options.threadsAllowedToBlockForConnectionMultiplier );
MongoOptions 写道
public MongoOptions(){
reset();
}
public void reset(){
connectionsPerHost = Bytes.CONNECTIONS_PER_HOST;
threadsAllowedToBlockForConnectionMultiplier = 5;
maxWaitTime = 1000 * 60 * 2;
connectTimeout = 0;
socketTimeout = 0;
socketKeepAlive = false;
autoConnectRetry = false;
maxAutoConnectRetryTime = 0;
slaveOk = false;
safe = false;
w = 0;
wtimeout = 0;
fsync = false;
j = false;
dbDecoderFactory = DefaultDBDecoder.FACTORY;
socketFactory = SocketFactory.getDefault();
}
其中:
static final int CONNECTIONS_PER_HOST = Integer.parseInt( System.getProperty( "MONGO.POOLSIZE" , "10" ) );
改变连接池大小:
1、可以通过系统属性改变连接池大小。
2、代码层面修改,new Mongo的时,先一个你需要的MongoOptions
分享到:
相关推荐
该代码是C++ MongoDB的连接池代码实现。代码封装了一个连接池类对象,通过该对象提供的连接池来操作MongoDB,提升了性能,减少了数据库连接资源的开销。
解决连接池不够的问题,多连接的问题。适用于mongoDB项目开发,感兴趣可以下载使用,记得好评哦。欢迎在下方留言
mongodb Java连接池配置 用于避免Java连接mongodb数据库数过高引起的一系列问题
基于hyperf的mongodb连接池组件,暂不支持协程
Mongodb解决连接池不够的问题,多连接的问题。
Mongodb连接池、增删改查实例套装内包含三个实例很适合初学者学习
Springboot配置MongoDB连接池源代码,包括有搭建Springboot项目,整合mybatis,mysql的代码。
本文介绍了Spring Boot中使用MongoDB的连接池配置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
kotlin语言写mongodb连接工具类,没有用配置文件,kotlin语言写mongodb连接工具类,没有用配置文件
主要介绍了基于java实现mongodb的数据库连接池,Java通过使用mongo-2.7.3.jar包实现mongodb连接池,感兴趣的小伙伴们可以参考一下
koa-mongo, 用于koa的MongoDB中间件,支持连接池 koa-mongokoa是一个用于koa@2的mongodb中间件,支持连接池。NB: 如果使用了,则使用 koa-mongo@0.安装npm i koa-mongo --save用法app.use
python实现连接mongodb并执行相关操作,添加数据,并查询数据
mongodb连接第三方工具
java mongodb 连接
针对32位操作系统不能使用64位的Robomongo连接工具,所以上传32位的mongodb数据库连接工具
python使用mongoDB
一个简单的测试工程,java使用mongodb数据库连接池,使用mongodb安全验证; 初始化连接池的信息;学习demo;代码
MongoVUE,mongoDb连接的客户端,简单方便好用,类似于sqlyog的管理界面方便简单
nosqlbooster4mongo-7.0.8,MongoDB连接工具 版本:7.0