• 关于MongoDB最大连接数的查看与修改


    在Linux平台下,无论是64位或者32位的MongoDB默认最大连接数都是819,WIN平台不知道,估计也没有人在 WIN平台下使用MongoDB做生产环境

    [root@DELL113 mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
    MongoDB shell version: 2.4.1

    connecting to: 192.168.6.42/test

    > db.serverStatus().connections

    {  " current " : 1,  " available " : 818,  " totalCreated

    "

    : NumberLong(1) }

    途中available显示818少了一个,表示空闲的。current表示已经占用了的连接数,两数一加就等于819,如果我现在在连接一个,那么available就是817,current就是2

    [root@DELL113 mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
    MongoDB shell version: 2.4.1

    connecting to: 192.168.6.42/test

    > db.serverStatus().connections

    {  " current " : 1,  " available " : 818,  " totalCreated " : NumberLong(1) }

    > db.serverStatus().connections

    {  " current " : 2,  " available " : 817,  " totalCreated

    "

    : NumberLong(2) }

    819个连接数对于一般的站点我认为已经够用,并且都是现连现取现断。但这个连接数也可以修改,只要在启动的时候加入--maxConns即可

    服务器启动

    [root@lee mongodb-linux-x86_64-2.4.1] #  ./bin/mongod --dbpath=/root/db --maxConns=2000
    Wed Apr 3 11:06:21.905 [initandlisten] MongoDB starting : pid=2812 port=27017 dbpath=/root/db 64-bit host=lee

    Wed Apr 3 11:06:21.957 [initandlisten] db version v2.4.1

    Wed Apr 3 11:06:21.957 [initandlisten] git version: 1560959e9ce11a693be8b4d0d160d633eee75110

    Wed Apr 3 11:06:21.957 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen  # 1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Wed Apr 3 11:06:21.957 [initandlisten] allocator: tcmalloc

    Wed Apr 3 11:06:21.957 [initandlisten] options: { dbpath:  " /root/db " , maxConns: 2000 }

    Wed Apr 3 11:06:21.982 [initandlisten] journal dir=/root/db/journal

    Wed Apr 3 11:06:21.982 [initandlisten] recover : no journal files present, no recovery needed

    Wed Apr 3 11:06:22.297 [initandlisten] preallocateIsFaster=true 2.62

    Wed Apr 3 11:06:22.717 [initandlisten] --maxConns too high, can only handle 819

    Wed Apr 3 11:06:22.724 [initandlisten] waiting  for connections on port 27017

    Wed Apr 3 11:06:22.725 [websvr] admin web console waiting  for connections on port 28017

    Wed Apr 3 11:06:25.126 [initandlisten] connection accepted  from 192.168.4.86:53917  #

    1 (1 connection now open)

    查询最大连接数

    [root@DELL113 mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
    MongoDB shell version: 2.4.1

    connecting to: 192.168.6.42/test

    > db.serverStatus().connections

    {  " current " : 1,  " available " : 818,  " totalCreated " : NumberLong(1) }

    发现还是819?其实是Linux默认进程能打开最大文件数有关,可以通过ulimit 解决

    [root@lee mongodb-linux-x86_64-2.4.1] #  ulimit -n 2500
    [root@lee mongodb-linux-x86_64-2.4.1] #  ./bin/mongod --dbpath=/root/db --maxConns=2000
    Wed Apr 3 11:11:07.013 [initandlisten] MongoDB starting : pid=2930 port=27017 dbpath=/root/db 64-bit host=lee

    Wed Apr 3 11:11:07.013 [initandlisten] db version v2.4.1

    Wed Apr 3 11:11:07.013 [initandlisten] git version: 1560959e9ce11a693be8b4d0d160d633eee75110

    Wed Apr 3 11:11:07.013 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen  # 1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
    Wed Apr 3 11:11:07.013 [initandlisten] allocator: tcmalloc

    Wed Apr 3 11:11:07.013 [initandlisten] options: { dbpath:  " /root/db " , maxConns: 2000 }

    Wed Apr 3 11:11:07.031 [initandlisten] journal dir=/root/db/journal

    Wed Apr 3 11:11:07.031 [initandlisten] recover : no journal files present, no recovery needed

    Wed Apr 3 11:11:07.170 [initandlisten] waiting  for connections on port 27017

    Wed Apr 3 11:11:07.171 [websvr] admin web console waiting  for connections on port 28017

    Wed Apr 3 11:11:10.076 [initandlisten] connection accepted  from 192.168.4.86:53161  #

    1 (1 connection now open)

    再查看最大连接数,搞定

    [root@DELL113 mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
    MongoDB shell version: 2.4.1

    connecting to: 192.168.6.42/test

    > db.serverStatus().connections

    {  " current " : 1,  " available " : 1999,  " totalCreated " : NumberLong(1) }

    关于ulimit的更多知识大家可以去网上检索检索

  • 相关阅读:
    [js]vue-router的使用
    [js]递归实现 数组转树形
    [js]vue组件核心
    [js]了解chart绘图
    [js]vue权限控制
    [js]vue显示一个外部链接的组件
    [js]axios使用
    [js]vue中 给router-view 组件的 绑定 key 的原因
    [java]BeanPostProcessor使用及源码
    [java]权限管理
  • 原文地址:https://www.cnblogs.com/bokejiayuan/p/4212662.html
Copyright © 2020-2023  润新知