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

. 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) }

搞定!


你可能感兴趣的:(Linux,Mongo)