Mongodb最大连接数优化

最近在做mongo数据库集群,用到生产环境上后发现用不了多久客户端就拒绝访问。查询进程发现路由mongos并没有宕,能ping通,于是查看最大连接数,发现已满。

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

于是,修改最大连接数。

1.查询最大连接数:

db.serverStats().connections

2.修改最大连接数:

关闭数据库,重启加上参数maxConns:mongodb --port 27017 --dbpath data/ --maxConn 300

3.重启查看最大连接数:

db.serverStats().connections

发现还是819,并没有改变,这是咋回事?经过一番研究,才发现,这是系统的限制,Linux默认进程能打开最大文件数是有限制的,可以通过ulimit 解决。

4.设置系统

Linux下切换到超级用户,ulimit -n 4000,也可在配置文件修改,/etc/rc.local里加入ulimit -n 4000

5.重启mongodb,查看最大连接数已变成了3000

时间: 2024-10-17 17:04:28

Mongodb最大连接数优化的相关文章

mongodb查看连接数、同步时间、oplog的命令

1) mongodb查看连接数: db.serverStatus().connections; 2) mongodb查看同步时间: db.printSlaveReplicationInfo();  %%查看从服务器上的同步时间 3) mongodb查看oplog分磁盘空间: db.printReplicationInfo();        %%查看oplog分配磁盘空间 mongodb查看连接数.同步时间.oplog的命令,布布扣,bubuko.com

linux shell中获取mongodb最大连接数、内存使用情况等

前两天接到了一个新的需求,需要在linux shell脚本中监控到mongodb最大连接数.内存使用情况等. 但是我对于linux shel很不了解,只是会一些简单常用的linux的操作而已,只要一顿狂搜,最终多番尝试下终于获取到这些值. 成功的步骤大致如下: 0. ./mongostat -u admin -p admin --authenticationDatabase admin -n 1 --json >> aaa.txt 把mongodb监控到的一行数据以json格式写入到aaa.t

【MongoDB】MongoDB之八大优化技巧

技巧一.尽量减少磁盘访问 内存访问要比磁盘访问快得多.所以使用优化的本质就是尽可能地减少对磁盘的访问. 内存的读取速度要比磁盘速度快一百万倍.读磁盘要消耗很长时间.几种简单的办法: 使用SSD(固态硬盘):增加内存可以减少对硬盘的读取,让常用的文档在内存中: 技巧二.使用索引减少内存占用 索引是有序的,所以不必遍历全部项.当查询时候会先根据索引查到索引中的结果,然后符合条件的文档加载到内存中,从而减少内存占用. 技巧三.不要到处使用索引 这里要注意,不是所有的查询都可以用索引的.索引一般用在返回

Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化

Most setup guides for Nginx tell you the basics - apt-get a package, modify a few lines here and there, and you've got a web server! And, in most cases, a vanilla nginx install will work just fine for serving your website. However, if you're REALLY t

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

在Linux平台下,无论是64位或者32位的MongoDB默认最大连接数都是819,WIN平台不知道,估计也没有人在 WIN平台下使用MongoDB做生产环境 [[email protected] mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42MongoDB shell version: 2.4.1 connecting to: 192.168.6.42/test > db.serverStatus().connections {  &qu

MongoDB 最大连接数 设置失效的异常分析

背景介绍: 查询MongoDB配置参数,可以知道关于最大连接数的参数是maxConns.但是连接实例后,查看支持的最大连接数,还是默认的819. 说明:最大连接数是由maxConn (maxIncomingConnections)和操作系统单个进程能打开的最大文件描述符数总量的80%决定的,取两个之间的最小值.默认单个进程能打开的最大文件描述符数为1024,1024*80% = 819.2 取整数819.所以最大可以支持的并发连接数为819. 案例重现 以下为本次测试MongoDB案例配置的参数

tomcat内存、连接数优化

1.检測系统能够设置的内存大小 java -Xmx1024M -version(当中1024表示检測内存能否够调整到这个数) 2.设置tomcat内存 在tomcat_home/bin/catalina.bat(win)或者tomcat_home/bin/catalina.sh(linux)文件里首行增加: set   JAVA_OPTS=-Xms1024m   -Xmx1024m(windows下) JAVA_OPTS='-Xms1024m   -Xmx1024m'(Linux下) 3.查看t

IIS最大连接数优化

错误信息:Error Summary:HTTP Error 503.2 - Service UnavailableThe [email protected] setting is being exceeded.Detailed Error Information:Module IIS Web CoreNotification BeginRequestHandler StaticFileError Code 0x00000000 1. 调整IIS 7应用程序池队列长度由原来的默认1000改为655

Oracle会话及连接数优化

一.改动Oracle会话及最大连接数 1.查看最大连接数 SQL> show parameter processes; NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes                      integer     0 db_w