在Linux平臺下,不管是64位或者32位的MongoDB默認最大鏈接數都是819,WIN平臺不知道,估計也沒有人在 WIN平臺下使用MongoDB作生產環境html
[root@DELL113 mongodb-linux-i686-2.4.1] # ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1linux
connecting to: 192.168.6.42/testgit
> db.serverStatus().connectionsweb
{ " current " : 1, " available " : 818, " totalCreatedmongodb
"shell
: NumberLong(1) }服務器
途中available顯示818少了一個,表示空閒的。current表示已經佔用了的鏈接數,兩數一加就等於819,若是我如今在鏈接一個,那麼available就是817,current就是2ide
[root@DELL113 mongodb-linux-i686-2.4.1] # ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1ui
connecting to: 192.168.6.42/testserver
> 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的更多知識你們能夠去網上檢索檢索
本文來自:Linux教程網