mongodb中数据库数量的实际限制

坦诺斯

谁能说mongodb中的数据库数量是否有实际限制?当我通过120个数据库时,我开始遇到严重的问题。简单的事情像:

> show dbs
Mon Feb 10 16:35:32 DBClientCursor::init call() failed
Mon Feb 10 16:35:32 query failed : admin.$cmd { listDatabases: 1.0 } to: 127.0.0.1:27017
Mon Feb 10 16:35:32 Error: error doing query: failed src/mongo/shell/collection.js:155
Mon Feb 10 16:35:32 trying reconnect to 127.0.0.1:27017
Mon Feb 10 16:35:32 reconnect 127.0.0.1:27017 failed couldn't connect to server 127.0.0.1:27017
>
Mon Feb 10 16:36:01 trying reconnect to 127.0.0.1:27017
Mon Feb 10 16:36:01 reconnect 127.0.0.1:27017 failed couldn't connect to server 127.0.0.1:27017
>
Mon Feb 10 16:37:01 trying reconnect to 127.0.0.1:27017
Mon Feb 10 16:37:01 reconnect 127.0.0.1:27017 ok

> getMemInfo()
{ "virtual" : 32, "resident" : 7 }
Mon Feb 10 16:39:00 DBClientCursor::init call() failed
Mon Feb 10 16:39:00 query failed : admin.$cmd { replSetGetStatus: 1.0, forShell: 1.0 } to: 127.0.0.1:27017
> shell
Mon Feb 10 16:39:38 ReferenceError: shell is not defined (shell):1
Mon Feb 10 16:39:38 trying reconnect to 127.0.0.1:27017
Mon Feb 10 16:39:38 reconnect 127.0.0.1:27017 ok

然而,日志文件仍然令人费解

鲍曼空间

您在哪个主机上运行什么版本的mongodb?这是直接来自EPEL的CenOS 6.5,mongodb 2.2 x86_64上的测试

这是创建1000个数据库的示例python脚本

from pymongo import MongoClient  

mc = MongoClient()
for i in range(5000):
    print i
    mc['db%s'%(i)].test.insert({"test":True})

输出:

...snip...
506
Traceback (most recent call last):
  File "overload_mongo.py", line 6, in <module>
    mc['db%s'%(i)].test.insert({"test":True})
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 357, in insert
    continue_on_error, self.__uuid_subtype), safe)
  File "/usr/lib64/python2.6/site-packages/pymongo/mongo_client.py", line 929, in _send_message
    raise AutoReconnect(str(e))
pymongo.errors.AutoReconnect: [Errno 104] Connection reset by peer

在那里,查看日志

ERROR: Uncaught std::exception: boost::filesystem::basic_directory_iterator constructor: Too many open files: "/index/bauman/db/_tmp/esort.1392056635.506/", terminating

好的ole太多打开文件的问题

如果您使用的是企业Linux平台,则可以将此文件放入/etc/security/limits.d/mongodb.conf并开始新的会话

mongodb        hard    nofile          99999
mongodb        soft    nofile          99999
mongodb        hard    nproc          99999
mongodb        soft    nproc          99999

我不知道如何在Windows上实现类似的结果。

“问题”在于MongoDB希望对每个数据库文件进行内存映射,因此您需要hostOS允许它这样做。

与上面相同的代码

python overload_mongo.py

输出量

...snip...
995
996 
997
998
999

都更好

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在多个函数中限制数据库调用的数量

来自分类Dev

Cloudant数据库数量限制

来自分类Dev

数据库数量未在mongodb中显示

来自分类Dev

Firebird 2.5“ DEFINE GENERATOR失败”似乎是由于达到数据库生成器限制,但实际数量远未达到该限制

来自分类Dev

限制添加到 firebase 实时数据库中的子项数量

来自分类Dev

在数据库级别限制关联记录的数量

来自分类Dev

SQL Server数据库邮件的数量或频率限制

来自分类Dev

在数据库级别限制关联记录的数量

来自分类Dev

SQL Server数据库邮件的数量或频率限制

来自分类Dev

获取数据库中某项的数量

来自分类Dev

oracle数据库中的查询限制

来自分类Dev

如何使用Firebase实时数据库中的自定义声明限制读取/写入记录的数量?

来自分类Dev

在数据库中存储实际换行符

来自分类Dev

在MongoDB数据库中存储图像

来自分类Dev

数据库名称限制

来自分类Dev

显示数据库中重复项的数量[SQL]

来自分类Dev

显示数据库中重复项的数量[SQL]

来自分类Dev

如何获取数据库中特定ID的记录数量?

来自分类Dev

如何在Redis(NodeJS)中查找数据库数量

来自分类Dev

Ruby on Rails-将用户限制为一定数量的数据库条目

来自分类Dev

限制具有多个HABTM的simple_form期间对数据库的调用数量

来自分类Dev

Django:基于外键限制数据库中的记录

来自分类Dev

Android sqlite,限制数据库中的行数

来自分类Dev

mysql中是否有更改数据库的限制?

来自分类Dev

如何限制对WebAPI中数据库资源的访问

来自分类Dev

Django:基于外键限制数据库中的记录

来自分类Dev

android中的SQLite数据库有大小限制吗?

来自分类Dev

从数据库中获取限制范围内的记录

来自分类Dev

计算数据库中的总记录以进行限制

Related 相关文章

  1. 1

    在多个函数中限制数据库调用的数量

  2. 2

    Cloudant数据库数量限制

  3. 3

    数据库数量未在mongodb中显示

  4. 4

    Firebird 2.5“ DEFINE GENERATOR失败”似乎是由于达到数据库生成器限制,但实际数量远未达到该限制

  5. 5

    限制添加到 firebase 实时数据库中的子项数量

  6. 6

    在数据库级别限制关联记录的数量

  7. 7

    SQL Server数据库邮件的数量或频率限制

  8. 8

    在数据库级别限制关联记录的数量

  9. 9

    SQL Server数据库邮件的数量或频率限制

  10. 10

    获取数据库中某项的数量

  11. 11

    oracle数据库中的查询限制

  12. 12

    如何使用Firebase实时数据库中的自定义声明限制读取/写入记录的数量?

  13. 13

    在数据库中存储实际换行符

  14. 14

    在MongoDB数据库中存储图像

  15. 15

    数据库名称限制

  16. 16

    显示数据库中重复项的数量[SQL]

  17. 17

    显示数据库中重复项的数量[SQL]

  18. 18

    如何获取数据库中特定ID的记录数量?

  19. 19

    如何在Redis(NodeJS)中查找数据库数量

  20. 20

    Ruby on Rails-将用户限制为一定数量的数据库条目

  21. 21

    限制具有多个HABTM的simple_form期间对数据库的调用数量

  22. 22

    Django:基于外键限制数据库中的记录

  23. 23

    Android sqlite,限制数据库中的行数

  24. 24

    mysql中是否有更改数据库的限制?

  25. 25

    如何限制对WebAPI中数据库资源的访问

  26. 26

    Django:基于外键限制数据库中的记录

  27. 27

    android中的SQLite数据库有大小限制吗?

  28. 28

    从数据库中获取限制范围内的记录

  29. 29

    计算数据库中的总记录以进行限制

热门标签

归档