做MongoDB并发测试,报出上述错误。究其原因,是数据库连接数太少,资源耗尽。查看com.mongodb.MongoOptions源代码,其中有connectionsPerHost和threadsAllowedToBlockForConnectionMultiplier两个重要的属性。
connectionsPerHost:每个主机的连接数
threadsAllowedToBlockForConnectionMultiplier:线程队列数,它以上面connectionsPerHost值相乘的结果就是线程队列最大值。如果连接线程排满了队列就会抛出“Out of semaphores to get db”错误。
connectionsPerHost默认是10,threadsAllowedToBlockForConnectionMultiplier默认是5,也就是线程池有50个连接数可供使用。因此只要将这个属性的值加大就可以避免上述错误。
其它属性设置:
maxWaitTime:最大等待连接的线程阻塞时间
connectTimeout:连接超时的毫秒。0是默认和无限
socketTimeout:socket超时。0是默认和无限
autoConnectRetry:这个控制是否在一个连接时,系统会自动重试
官方api:
http://api.mongodb.org/java/2.0/com/mongodb/MongoOptions.html
http://www.mongodb.org/display/DOCS/Java+Driver+Concurrency
分享到:
相关推荐
MongoDB性能测试,在服务器上进行了5亿数据级别的插入和查询测试,考虑了GridFS和组合索引的性能。
这个客户端实现了对mongoDB数据库的并发访问及访问性能测试。包括查询,修改和插入性能。用户使用该客户端的时候需要修改mongodb的ip地址和端口号,以及数据库名称和collection名称。
java连接mongodb测试,包括增删改查等操作的实用技术
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。用于研究MongoDB数据库,就像pl/sql之于oracle.
MongoDB测试用例 2 一、涉及调优参数 2 二、测试环境 2 2.1测试组网 2 2.2设备配置 2 三、用例设计 3 1. 功能测试 3 1.1. 高可用性 3 1.2. 基本功能 5 2. 性能测试 16 2.1. 写入性能 16 2.2. 查询性能 17 2.3. 分析...
MongoDB数据库管理工具
随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛。为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用的MongoDB数据库的插件。
MongoDB数据库简单介绍,
MongoDB数据库
MongoDB数据库管理培训,查询,管理,维护
mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非...
该代码是C++ MongoDB的连接池代码实现。代码封装了一个连接池类对象,通过该对象提供的连接池来操作MongoDB,提升了性能,减少了数据库连接资源的开销。
Mongodb 数据库 JAVA 增删改查操作例子
mongodb数据库分布式分片群集的配置详解,是部署项目需要的
使用nodejs的koa框架连接MongoDB数据库
mongodb数据库近年很流行,这是个按装包,有兴趣学mongo的可以下下看看。。。。。
非关联数据库mongodb 的demo,
公司里要用mongodb数据库存放文件,给我一个星期的时间让我研究,这是我用mongodb数据库+struts写的小例子,能够实现人员的注册,头像的上传,帖子的管理。功能简单,主要让大家看看mongodb数据库的具体使用。文档写...
mongodb 文档数据库,存储的是文档(Bson->json的二进制化). 特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作. 传统型数据库: 结构化数据, 定好了表结构后,每...
MongoDB等NoSQL数据库背后蕴涵的哲学是不同的平台应该使用不同类型的数据库,MongoDB通过降低一些特性来达到性能的提高,这在很多大型站点中是可行的。因为MongoDB是非原子性的,所以如果如果应用需要事务,还是需要...