mongodb的一些tips

news/2024/7/10 4:02:25 标签: mongodb, linux, 64bit, 集群, 优化, 扩展

本文是在使用mongodb的过程中积累的一些tips,经验来源与linux 64bitmongodb,如无特殊说明,则表明这些经验都是在这个环境下的,不保证在其他操作系统或者32bit的mongodb也适用。

另外,可能不同版本也会有不同的情况,下面列出各自版本的使用经验,如无特殊说明,没有测试过更多的版本.

索引

  • mongodb的一些tips
    • 版本: 1.8.2/1.8.3
      • 修改配置
      • 连接数太多

    版本: 1.8.2/1.8.3

    修改配置

    mongodb的配置修改,经常需要保证mongodb集群或者replset的所有机器都能够正常提供服务,否则可能导致配置失败。如果遇到修改配置(如增加机器,删除机器,addshard等操作),出现错误时,可以确认两方面: 一是所涉及的mongodb的ip和端口是否有手误输入错误的;另一个是所涉及的mongodb是否能够正常提供服务(比如连接池满了会导致无法连接)。

    相关错误列表

    连接数太多

    如果在日志中遇到类似如下的错误信息:

    "too many open files"
    "too many open connections"
    

    则说明打开的连接数太多了,有两个限制mongod/mongos连接数的地方:

    • 操作系统的ulimit限制,可以用ulimit查看open files,是否足够大。linux下默认的open files是1024,在提供服务的时候往往太小。

    • mongodb自身的限制

      mongodb(mongod/mongos)在启动的时候,有个参数是–maxConns,用来指定最大的连接数,默认是20000,也是mongod支持的上限(硬编码,无法修改)。如果达到2万,则说明需要优化mongodb的数据/索引,或者需要扩展db以支持更大的并发数;如果是在参数限制小于2万而出现这个错误,则只需要调整参数即可。


    http://www.niftyadmin.cn/n/1391306.html

    相关文章

    在keil_C51设计中几种精确延时的方法

    Keil C51程序设计中几种精确延时方法 摘要 实际的单片机应用系统开发过程中,由于程序功能的需要,经常编写各种延时程序,延时时间从数微秒到数秒不等,对于许多C51开发者特别是初学者编制非常精确的延时程序有一定难度。本文从实际应…

    apache负载均衡apache2.4.18+tomcat7(windows版)

    一:安装下载 上apache官网下载apache最新版本的apache版本就行 这里用的是最新的apache2.4.18 解压到任意盘后在CMD中安装 比如到D:\apache\Apache24\bin下打命令 httpd -k install 之后上tomcat里下载JK JK就是tomcat给HTTP服务的应用,之后解压在D:\…

    联想的老手机不能获得密码框的焦点的原因

    我两个输入框,上面输入用户名,下面密码,结果下面的密码框无法获得焦点,我那个晕,还是老手机,不能通过屏幕选择,只好用排除法解决,最后发现是下面的代码惹的祸,我那个晕&a…

    Android学习笔记08:相对布局RelativeLayout

    RelativeLayout是实际布局中最常用的布局方式之一。RelativeLayout可以设置某一个视图相对于其他视图的位置,这些位置可以包括上下左右等,因而相较于其他的布局方式而言具有很大的灵活性。 RelativeLayout的常用属性有以下一些: 第一类:属性值…

    iOS:实现图片的无限轮播

    为尊重原创,特注明原文链接:http://m.myexception.cn/operating-system/1949043.html 图片轮播及其无限循环效果 平时APP中的广告位或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种,一种是ScrollViewImageView&#xff0…

    Linux系统内存占用90%以上——解决方法

    首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~ Linux/Unix系统管理内存的方式和windows是不一样的,即便是一个负载很小的linux,跑几天后&#xff0c…

    字符串:格式化

    一、字符串格式化的format方法 format方法接受位置参数和关键字参数 #位置参数 >>> "{0} love {1}".format(I,you) I love you #关键字参数 >>> "{a} love {b}".format(aI,byou) I love you#位置参数和关键词参数可以混用,但…

    LINUX 占用较多内存 解释

    Linux/Unix与windows在管理内存的方式上是不一样的。它的管理方式是充分的利用系统的内存,而windows则是无论使用多大的内存都要使用一定的虚拟内存(linux中swap)。 所以说即便是一个刚装上不久的linux系统,内存使用量达到90%,也很…