MongoDB压力测试

MongoDB压力测试,mongodb,Mongodb,我正在为mongodb做测试。 mongo的版本是2.4.9。在数据库中,我有250多万个文档插入到一个集合中,如: [{"_id": _id, "id" : _id, "row1": "0000-000000000-000000000-00", "meta" : "domainName", "type" : "domainType", "timestamp" : "01234646458", "relations" : { "direct" [], "indirect": ["domain1"

我正在为mongodb做测试。 mongo的版本是2.4.9。在数据库中,我有250多万个文档插入到一个集合中,如:

[{"_id": _id, "id" : _id, "row1": "0000-000000000-000000000-00", "meta" : "domainName", "type" : "domainType", "timestamp" : "01234646458", "relations" : { "direct" [], "indirect": ["domain1", "domain2"]}, "extension" : "net", "usage" : "intranet","extraValue":Math.random()}, ...]

刚才的集合已编制索引,插入数据效果良好,当我尝试使用aprox从数据库中随机读取数据时,会出现问题。每2秒搜索一个非特定文档的100个线程(每2秒启动一个新操作)。操作简单,读取一个文档并插入一个与其他文档链接(仅通过引用)的新文档,操作不影响随机搜索。前255分钟工作正常,但25分钟后连接关闭或重新加油。cpu的使用是正常的,网络的使用也是正常的,其他数据库我没有同样的问题。从mongo读取数据时是否存在一些考虑因素?或者可能是司机的问题?刚才,测试是使用node.js和mongo以及mongodb MongoClient驱动程序进行的。

我建议检查问题是源于服务器还是客户端。在服务器上,您可以检查以下内容:

  • MongoD记录报告的任何明显问题
  • 服务器的ulimits—假设您的MongoD实例运行在Linux(或Unix的一种风格)服务器上
在客户端上,您可以检查:

  • 如果在Linux/Unix上,请检查ulimit
  • 检查池连接
  • 重新启动客户端应用程序是否解决了问题?如果是这样的话,这看起来肯定像是一个客户端问题,但进行服务器检查只是为了以防万一

您需要包含更多详细信息。您是否正确地共享/关闭连接?运行测试时,请查看
db.serverStatus().connections
。>db.serverStatus().connections
{“当前”:7,“可用”:6546,“总创建”:NumberLong(2710345)}