mongodb : Increasing max connections in mongodb

前端 未结 5 1017
名媛妹妹
名媛妹妹 2020-12-03 21:52

i need your help in solving this

this is the result of my ulimit -a on my linux server

   core file size          (blocks, -c) 0
schedu         


        
相关标签:
5条回答
  • 2020-12-03 21:55

    It seems MongoDB has no limit on incoming connections and you should modify system-wide limit, see official doc:

    Unless constrained by system-wide limits, MongoDB has no limit on incoming connections. On Unix-based systems, you can modify system limits using the ulimit command, or by editing your system’s /etc/sysctl file. See UNIX ulimit Settings for more information.

    Recommended ulimit Settings(offical doc):

    -f (file size): unlimited

    -t (cpu time): unlimited

    -v (virtual memory): unlimited

    -n (open files): 64000

    -m (memory size): unlimited

    -u (processes/threads): 64000

    Remember to restart your mongod and mongos instances after changing the ulimit settings to ensure that the changes take effect.

    Source: number-of-connections recommended-ulimit-settings

    0 讨论(0)
  • 2020-12-03 22:01

    Have you tried:

    --maxConns arg       max number of simultaneous connections
    

    (Source: mongod documentation)

    0 讨论(0)
  • 2020-12-03 22:08

    You also need bump up the number of file descriptors and number of file descriptors per process that the Linux kernel allows.

    In Linux, this should be configured by editing the file at /proc/sys/fs/file-max or by the sysctl utility.

    • Edit the /etc/sysctl.conf file and add fs.file-max = 50000. This sets the maximum file descriptors that can run as a system-wide limit.
    • Running ulimit -n 50000 sets the user-wide limit for the maximum number of file descriptors open.

    Check this link for a more descriptive write-up for editing the limits on a linux machine: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

    0 讨论(0)
  • 2020-12-03 22:20

    Method 1 If you use systemd (systemctl restart mongod)

    sudo mkdir /etc/systemd/system/mongod.service.d/
    sudo vi /etc/systemd/system/mongod.service.d/limits.conf
    

    then add:

    [Service]
    LimitFSIZE=infinity
    LimitCPU=infinity
    LimitAS=infinity
    LimitMEMLOCK=infinity
    LimitNOFILE=64000
    LimitNPROC=64000
    

    Then execute:

    systemctl daemon-reload
    systemctl restart mongod
    

    Method 2 If NO systemd (service mongod restart)

    sudo vi /etc/security/limits.d/99-mongodb.conf
    

    Add something like:

    *       -       nproc   64000
    *       -       nofile  64000
    *       -       fsize   unlimited
    *       -       cpu     unlimited
    *       -       memlock unlimited
    *       -       as      unlimited
    *       -       rss     unlimited
    

    Note that * it's a wildcard. But you could use a specific user or group. Then restart session and mongod.

    0 讨论(0)
  • 2020-12-03 22:20

    You might need to change the hard limits in /etc/limits.conf or /etc/security/limits.conf depending on your distribution.

    0 讨论(0)
提交回复
热议问题