范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MongoDB数据库性能监控看这一篇就够了

  大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?
  让我们一起,一探究竟, 继续学习MongoDB数据库性能监控 ,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。
  一、MongoDB启动超慢1、启动日常卡住,根本不用为了截屏而快速操作,MongoDB启动真的超级慢
  2、启动MongoDB配置服务器,间歇性失败。
  3、查看MongoDB日志,分析"MongoDB启动慢"的原因。
  4、耗时"一小时",MongoDB启动成功!
  二、原因分析
  在MongoDB关闭之前,有较大的索引建立的操作没有完成,MongoDB就直接shutdown了,等MongoDB再次启动的时候,MongoDB默认会将这个index重建好,重建期间处于startup状态。
  由于不清楚重建索引需要多久,因此可以通过重启mongod时加上–noIndexBuildRetry参数来跳过索引重建。等启动完成后,再创建这个索引。
  下面从几方面,监控一下MongoDB的性能问题。 三、监控MongoDB内存使用情况
  常驻内存:  常驻内存是MongoDB在RAM中显式拥有的内存。如果查询一个集合数据,MongoDB会将其放入常驻内存中,MongoDB会获得其地址,这个地址不是RAM中数据的真实地址,而是一个虚拟地址。MongoDB可以将它传递给内核,内核会查找出数据的真实位置。如果内核需要从内存中清理缓存,MongoDB仍然可以通过该地址对其进行访问。MongoDB会向内核请求内存,然后内核会查看数据缓存,如果发现数据不存在,就会产生缺页错误并将数据复制到内存中,最后再返给MongoDB。 虚拟内存:  操作系统提供的一种抽象,它对软件进程隐藏了物理存储的细节。每个进程都可以看到一个连续的内存地址空间。在Ops Manager中,MongoDB的虚拟内存是映射内存的两倍。 映射内存:  包含MongoDB曾经访问过的所有数据。
  四、监控MongoDB磁盘空间
  当磁盘空间不足时,可以进行如下操作: 可以添加一个分片; 删除未使用的索引; 可以执行压缩操作; 关闭副本集成员,将其数据复制到更大的磁盘中挂载; 用较大驱动器的成员替换副本集中的成员; 五、MongoDB常用命令1、MongoDB获取系统信息db.hostInfo()
  2、MongoDB获取系统内存情况db.serverStatus().mem
  3、MongoDB获取连接数信息db.serverStatus().connections
  4、MongoDB获取全局锁信息db.serverStatus().globalLock
  5、MongoDB获取操作统计计数器db.serverStatus().opcounters
  6、MongoDB获取数据库状态信息db.stats()
  以上是MongoDB的重要指标,通过这些指标我们可以了解到MongoDB的运行状态,评估数据库的健康程度,并快速确定实际项目中遇到的性能瓶颈。
  比如项目中遇到的MongoSocketReadTimeoutException: com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message     at com.mongodb.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:475)     at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:226)     at com.mongodb.connection.UsageTrackingInternalConnection.receiveMessage(UsageTrackingInternalConnection.java:105)     at com.mongodb.connection.DefaultConnectionPool$PooledConnection.receiveMessage(DefaultConnectionPool.java:438)     at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:112)     at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)     at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)     at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:176)     at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:216)     at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:207)     at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:113)     at com.mongodb.operation.FindOperation$1.call(FindOperation.java:488)     at com.mongodb.operation.FindOperation$1.call(FindOperation.java:1)     at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:241)     at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:214)     at com.mongodb.operation.FindOperation.execute(FindOperation.java:483)     at com.mongodb.operation.FindOperation.execute(FindOperation.java:1)     at com.mongodb.Mongo.execute(Mongo.java:818)
  六、MongoDB持久性1、复制延迟
  复制延迟是指从节点无法跟上主节点的速度。
  从节点一个操作的时间减去主节点此操作的时间,就是复制延迟。延迟应该尽可能的接近0,并且通常是毫秒级的。 2、备份
  备份操作通常会将所有数据读入内存,因此,备份操作通常应该在副本集从节点而不是主节点进行,如果是单机MongoDB,则应该在空间时间进行备份,比如深夜凌晨。 3、持久性
  持久性是数据库必备的一种特性,想象一下,如果数据库不具备持久性,如果数据库重启,数据全部丢失,太可怕了,不敢想。
  为了在服务器发生故障时提供持久性,MongoDB使用预写式日志机制,英文简称 WAL。WAL是数据库系统中一种常见的持久性技术。在数据存入数据库之前,将这些更改操作写到磁盘上。
  从MongoDB4.0开始,执行写操作时,MongoDB会使用与oplog相同的格式创建日志。oplog语句具有幂等性,不管执行多少次,结果都是一样的。
  MongoDB还维护了日志和数据库数据文件的内存视图。默认情况,每50毫秒会将日志条目刷新到磁盘上,每60秒会将数据库文件刷新到磁盘上。刷新数据的时间60秒间隔被称为检查点。日志用于将上一个检查点之后的数据提供持久性。MongoDB的持久性就是在发生故障时,重启之后,将日志中的语句重新执行一遍,以保证在关闭前丢失的数据重新刷新到MongoDB中。
  MongoDB会在data目录下创建一个journal的子目录,WiredTiger日志文件的名称为 WiredTigerLog.。sequence  是一个从0 000 000 001开始的数字。
  MongoDB会对写入的日志进行压缩,日志文件限制的最大大小为100MB。如果大于100MB,MongoDB就会自动创建一个新的日志文件,由于日志文件只需在上次检查点之后恢复数据,因此在新的检查点写入完成时,旧的日志文件就会被删除。

全国第41位!汉川开发区这份成绩单很亮眼日前国家自然资源部办公厅发布2022年度国家级开发区土地集约利用监测统计结果排序共涉及579个国家级开发区其中工业主导型448个产城融合型131个汉川经济技术开发区位列工业主导型开2021年康美300亿造假案翻车,这次散户赢了!药王栽了2018年10月16日,网上一篇财务分析文章火了。文章文笔犀利,直指当时风头正盛的大型企业康美药业造假手里攥着300亿不用,非要去银行贷款相近的数目,而贷款利息远高于存款利息。上市普通人买这四种保险就行了这个世界95以上的都是普通人,拿着普通的薪水,承担着家庭的重担,其实这部分人最需要保险,不单为自己,还为挚爱的家人。既然收入有限,我们就要考虑把有限的资金合理化的运用,所谓好钢用在热评丨和春天一同到来,一号文件强调这五强春为岁首,农为行先。新春伊始,一号文件和春天一同如约而至。这是党的二十大胜利召开后发布的首个中央一号文件,谱写乡村振兴蓝图,强调守好三农基本盘至关重要不容有失,传递出重农强农的强烈促进低龄老年就业,实现银发红利2022年10月16日,68岁的银铃志愿者黄玉祥为小区内的高龄老人送午餐。视觉中国图将低龄老年人就业体系定位好引导好保障好建设好,事关老年群体的晚年获得感和银发红利的实现,是亟待探提前还房贷成热点话题,是否一定划算?听专家解析近日,提前还房贷连续登上各大社交平台热点话题。提前还贷为何热了起来?在法律层面是否可行?提前还贷划算吗?人民网强观察栏目记者就此采访了多位专家。1hr不少购房者为何选择提前还房贷?年审机构改口,深交所发函!因期后事项修改审计意见,ST科林2021年财报变非标本就深陷退市阴霾的ST科林,又迎来了当头一击。2月19日下午,ST科林发布公告称,公司收到了来自深交所的关注函,所涉事项主要为年报审计意见的变更。据悉,ST科林2021年度年审机构20日资金路线图非银金融板块资金净流入居首沪股通净流入58亿元点蓝字关注,不迷路2月20日,A股市场整体上涨。截至收盘,上证指数收报3290。34点,上涨2。06,深证成指收报11954。13点,上涨2。03,创业板指数收报2480。79点,现阶段是否还有必要戴口罩?医学专家回应我身边已经没有新冠感染的人了,大家对于阳没阳的讨论越来越少,不戴口罩的人也变多了。走在大街上,明显感觉到不戴口罩的人比以往多了。疫情没结束,新冠病毒没消失,还是戴着口罩心理比较踏实春节延长假带薪年休假?用人单位可以统筹安排年休假吗?来源工人日报春节延长假带薪年休假?根据法律规定,用人单位有权以延长春节假期的方式主动安排年休假新春佳节刚过,在享受了或长或短的休假后,劳动者陆续返岗工作。记者调查了解到,有些公司以13年过去了,那个发誓永生不回德云社的曹云金,履行承诺了吗?前言那一年,郭德纲37岁,曹云金24岁。在北京三里屯郭家菜馆里宾客满座,众人轮番敬酒。郭德纲却一副心不在焉的样子,众人都心知肚明。一边感谢一边望向门口,低头又望向身旁特意留的座位。
植树节的来历中国的植树节最初由凌道扬和韩安等林学家于1915年倡议设立。在孙中山的提议下,以每年清明节为植树节,举办植树活动,自此中国有了植树节。1925年3月12日,孙中山先生逝世,后来为了海水变锂矿,青岛打造全球首个海水提锂项目3月8日,全球首个海水淡化浓盐水提锂合作项目签约仪式在青岛举行,正式启动全球首个海水提锂项目建设,标志着海水提锂从工程化验证转向产业化的新阶段。据悉,该项目选址青岛水务集团百发海水唯一健在的开国大将夫人,养育8个子女皆是栋梁,如今百岁仍健在艰苦备尝开颜笑,生死与共爱更深。这是开国大将罗瑞卿写给妻子郝治平的忆往事赠治平中的诗句。罗瑞卿将军一生写了20多首诗,很少像这样写给妻子。但前两句话简明扼要地总结了夫妻俩相遇的爱情商纣王真的是一位昏庸无道,荒淫无度的暴君吗?武王伐纣,一直是家喻户晓的故事。其中在封神演义当中,更是以这一事件为主要线索,宣扬姬发功绩,责备纣王的昏庸无道。封神演义阐述的是正邪斗法神妖混战的神话故事。书中的商纣王是人人恨之入五代时期后周太祖郭威后周太祖郭威画像郭威,字文仲,邢州尧山(今河北隆尧)人,为五代时期后周开国君主。唐哀宗天祐元年(甲子,904年),郭威出生。出身寒微的他勇力过人,其父郭简担任晋王李克用的顺州(今北夏王朝的建立夏王朝是我国历史上第一个奴隶制王朝,它的建立标志着我国历史正式进入了文明时代。夏王朝的建立是从禹开始的,禹的父亲是夏族有崇氏部落首领。尧舜时期洪水泛滥,鲧被四岳推选主持治水工作,他武则天的乱象历史开讲唐朝时期,武则天统治时期是一段非常特殊的历史。作为唯一的女皇帝,她在政治和军事上都取得了惊人的成就。然而,她在后宫的管理上却出现了很大的问题,导致了许多困扰和混乱。随着她的人为财死,鸟为食亡说和珅曾经是世界首富,大家都没意见吧,他家的一根柱子就值27亿。和珅为什么贪那么多年都没事儿?是因为乾隆愚蠢,没发现他是巨贪吗?今天我们就来听听乾隆怎么说什么说我愚蠢?来,来告诉我康熙陵寝为何在大水坑里建造景陵位于昌瑞山脚下,南望象山,那里山清水秀,云霞飞舞,着实是个风水宝地。但恐怕没人知道,康熙帝的景陵是在一个大水坑中修建起来的。作为堂堂千古一帝的康熙,为何死后甘愿屈身于大水坑中呢解手怎么就成了上厕所的代名词?解手一词的由来,据说可以追溯到明朝初年的山西大移民。元末明初时战乱频繁,人口骤减,中原地区地广人稀,不利于生产。但山西没怎么被战火颇及,人口繁衍得很好。明太祖朱元璋就搞了个大移民,清军胸前的兵丁卒勇是何意思?仅一字之差,却天壤之别很多小伙伴从小到大应该都没少看清廷剧吧,比如在康熙王朝中,对于陈道明老师饰演的康熙帝都有着很深的印象吧,他的雄才伟略,文有崇尚儒学治理河道武有平三藩收台湾等功绩。但是细心的伙伴一定