mongodb:增加mongodb中的最大连接数

11 mongodb

我需要你帮助解决这个问题

这是我ulimit -a在linux服务器上的结果

   core file size          (blocks, -c) 0
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 24576
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
Run Code Online (Sandbox Code Playgroud)

现在这是我的MongoDB的结果

db.serverStatus().connections

{ "current" : 4, "available" : 5996 }
Run Code Online (Sandbox Code Playgroud)

我想将MongoDb连接增加到10000.

我尝试过不同的选项,比如我的mongod1.conf

fork    = true
port    = 27017
maxConns = 10000
Run Code Online (Sandbox Code Playgroud)

而这也是启动mongodb

mongod ulimit -n 10000  --config mongod1.conf 
Run Code Online (Sandbox Code Playgroud)

但没有任何工作,所有都失败了,请让我知道如何在我的情况下增加10000的连接,提前谢谢.

Kas*_*yap 8

您还需要增加Linux内核允许的文件描述符数量和每个进程的文件描述符数量。

在Linux中,应/proc/sys/fs/file-max通过在sysctl实用程序中或由实用程序编辑文件来进行配置。

  • 编辑/etc/sysctl.conf文件并添加fs.file-max = 50000。这设置了可以作为系统范围限制运行的最大文件描述符。
  • 运行ulimit -n 50000设置了用户范围内打开的文件描述符最大数量的限制。

检查此链接以获取更具描述性的文章,以编辑Linux机器上的限制:http : //www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/


Dav*_*eso 6

方法 1如果您使用systemd ( systemctl restart mongod )

sudo mkdir /etc/systemd/system/mongod.service.d/
sudo vi /etc/systemd/system/mongod.service.d/limits.conf
Run Code Online (Sandbox Code Playgroud)

然后加:

[Service]
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
LimitMEMLOCK=infinity
LimitNOFILE=64000
LimitNPROC=64000
Run Code Online (Sandbox Code Playgroud)

然后执行:

systemctl daemon-reload
systemctl restart mongod
Run Code Online (Sandbox Code Playgroud)

方法2 如果没有systemdservice mongod restart

sudo vi /etc/security/limits.d/99-mongodb.conf
Run Code Online (Sandbox Code Playgroud)

添加如下内容:

*       -       nproc   64000
*       -       nofile  64000
*       -       fsize   unlimited
*       -       cpu     unlimited
*       -       memlock unlimited
*       -       as      unlimited
*       -       rss     unlimited
Run Code Online (Sandbox Code Playgroud)

请注意,* 它是通配符。但您可以使用特定的用户或组。然后重新启动会话和 mongod。