1. 程式人生 > >關於MongoDB最大連接數的查看與修改

關於MongoDB最大連接數的查看與修改

control create 表示 limit ack ng- spa 知識 localhost

. MongoDB連接數

在Linux平臺下,無論是64位或者32位的MongoDB默認最大連接數都是819,WIN平臺不知道,估計也沒有人在 WIN平臺下使用MongoDB做生產環境

[root@localhost mongodb-3.0.4]# ./bin/mongo
MongoDB shell version: 3.0.4
connecting to: test
> use admin
switched to db admin
> db.auth(‘user‘,‘password‘);
1
> db.serverStatus().connections;
{ "current" : 1, "available" : 818, "totalCreated" : NumberLong(2) }

上文available顯示818少了一個,表示空閑的。current表示已經占用了的連接數,兩數一加就等於819,如果我現在在連接一個,那麽available就是817,current就是2

[root@localhost mongodb-3.0.4]# ./bin/mongo
MongoDB shell version: 3.0.4
connecting to: test
> exit
bye
[root@localhost mongodb-3.0.4]# ./bin/mongo 192.168.5.215
MongoDB shell version: 3.0.4
connecting to: 192.168.5.215/test
> use admin
switched to db admin
> db.auth(‘al_user‘,‘123456‘);
1
> db.serverStatus().connections;
{ "current" : 2, "available" : 817, "totalCreated" : NumberLong(3) }

819個連接數對於一般的站點我認為已經夠用,並且都是現連現取現斷。但這個連接數也可以修改,只要在啟動的時候加入--maxConns即可

二. 修改MongoDB連接數

[root@localhost mongodb-3.0.4]# ./bin/mongod --maxConns=41942

MongoDB shell version: 3.0.4
connecting to: test

查看mongo日誌

[root@localhost mongodb-3.0.4]# vim ./log/mongo.log

2016-04-22T12:02:43.669+0800 I CONTROL [initandlisten] options: { net: { maxIncomingConnections: 41942 },

> db.serverStatus().connections;
{ "current" : 1, "available" : 818, "totalCreated" : NumberLong(2) }

發現還是819?其實是Linux默認進程能打開最大文件數有關,可以通過ulimit 解決

[root@localhost mongodb-3.0.4]# ulimit -n 41942

關於ulimit的更多知識大家可以去網上檢索檢索

再查看最大連接數

[root@localhost mongodb-3.0.4]# ./bin/mongod --maxConns=41942

> use admin
switched to db admin
> db.auth(‘user‘,‘password‘);
1

> db.serverStatus().connections;
{ "current" : 1, "available" : 41941, "totalCreated" : NumberLong(1) }

搞定!

關於MongoDB最大連接數的查看與修改