paulwong

          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的更多知識大家可以去網上檢索檢索

          posted on 2014-06-10 21:50 paulwong 閱讀(544) 評論(0)  編輯  收藏 所屬分類: MONGODB

          主站蜘蛛池模板: 容城县| 宽甸| 砚山县| 伊春市| 平顺县| 桃江县| 元氏县| 赤壁市| 宁晋县| 永和县| 临泽县| 大安市| 沁阳市| 融水| 开原市| 武山县| 大连市| 公主岭市| 平南县| 玛沁县| 两当县| 沽源县| 卢湾区| 嫩江县| 天津市| 巫山县| 张家界市| 宣汉县| 浠水县| 康保县| 遂宁市| 南昌县| 门源| 琼海市| 高阳县| 屏南县| 黄龙县| 南安市| 大方县| 吉安县| 子洲县|