当前位置: 首页 > news >正文

女士服装定制网站站长工具seo综合查询怎么使用的

女士服装定制网站,站长工具seo综合查询怎么使用的,创业网站模板免费下载,抖音搜索排名目录一、MongoDB启动超慢1、启动日常卡住,根本不用为了截屏而快速操作,MongoDB启动真的超级慢~~2、启动MongoDB配置服务器,间歇性失败。3、查看MongoDB日志,分析“MongoDB启动慢”的原因。4、耗时“一小时”,MongoDB启…

目录

    • 一、MongoDB启动超慢
      • 1、启动日常卡住,根本不用为了截屏而快速操作,MongoDB启动真的超级慢~~
      • 2、启动MongoDB配置服务器,间歇性失败。
      • 3、查看MongoDB日志,分析“MongoDB启动慢”的原因。
      • 4、耗时“一小时”,MongoDB启动成功!
    • 二、原因分析
    • 三、监控MongoDB内存使用情况
    • 四、监控MongoDB磁盘空间
    • 五、MongoDB常用命令
      • 1、MongoDB获取系统信息
      • 2、MongoDB获取系统内存情况
      • 3、MongoDB获取连接数信息
      • 4、MongoDB获取全局锁信息
      • 5、MongoDB获取操作统计计数器
      • 6、MongoDB获取数据库状态信息
    • 六、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。
  • MongoDB的虚拟内存: 是操作系统提供的一种抽象,它对软件进程隐藏了物理存储的细节。每个进程都可以看到一个连续的内存地址空间。在Ops Manager中,MongoDB的虚拟内存是映射内存的两倍。
  • MongoDB的映射内存: 包含MongoDB曾经访问过的所有数据。

在这里插入图片描述

四、监控MongoDB磁盘空间

当磁盘空间不足时,可以进行如下操作:

  1. 可以添加一个分片;
  2. 删除未使用的索引;
  3. 可以执行压缩操作;
  4. 关闭副本集成员,将其数据复制到更大的磁盘中挂载;
  5. 用较大驱动器的成员替换副本集中的成员;

五、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 messageat 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持久性

复制延迟是指从节点无法跟上主节点的速度。

从节点一个操作的时间减去主节点此操作的时间,就是复制延迟。延迟应该尽可能的接近0,并且通常是毫秒级的。

备份操作通常会将所有数据读入内存,因此,备份操作通常应该在副本集从节点而不是主节点进行,如果是单机MongoDB,则应该在空间时间进行备份,比如深夜凌晨。

持久性是数据库必备的一种特性,想象一下,如果数据库不具备持久性,如果数据库重启,数据全部丢失,太可怕了,不敢想。

为了在服务器发生故障时提供持久性,MongoDB使用预写式日志机制,英文简称 WAL。WAL是数据库系统中一种常见的持久性技术。在数据存入数据库之前,将这些更改操作写到磁盘上。

从MongoDB4.0开始,执行写操作时,MongoDB会使用与oplog相同的格式创建日志。oplog语句具有幂等性,不管执行多少次,结果都是一样的。

MongoDB还维护了日志和数据库数据文件的内存视图。默认情况,每50毫秒会将日志条目刷新到磁盘上,每60秒会将数据库文件刷新到磁盘上。刷新数据的时间60秒间隔被称为检查点。日志用于将上一个检查点之后的数据提供持久性。MongoDB的持久性就是在发生故障时,重启之后,将日志中的语句重新执行一遍,以保证在关闭前丢失的数据重新刷新到MongoDB中。

MongoDB会在data目录下创建一个journal的子目录,WiredTiger日志文件的名称为WiredTigerLog.<sequence>。sequence是一个从0 000 000 001开始的数字。
在这里插入图片描述
MongoDB会对写入的日志进行压缩,日志文件限制的最大大小为100MB。如果大于100MB,MongoDB就会自动创建一个新的日志文件,由于日志文件只需在上次检查点之后恢复数据,因此在新的检查点写入完成时,旧的日志文件就会被删除。

在这里插入图片描述
在这里插入图片描述

Java学习路线总结,搬砖工逆袭Java架构师

10万字208道Java经典面试题总结(附答案)

Java基础教程系列

Java基础教程系列(进阶篇)

http://www.laogonggong.com/news/272.html

相关文章:

  • 如何做网站网页免费整站优化的公司
  • 制作网页游戏htmlseo点击软件手机
  • 如何做黑客攻击网站百度查重免费入口
  • 做网站外包好吗优化大师app下载
  • 杭州pc网站制作公司培训管理平台
  • 网站问题seo解决方案如何在微信上做推广
  • 网站建设的国内外现状怎么从网上找国外客户
  • 做标签网站刷单关键词大全
  • 网站网站建设专业营销策划推广公司
  • 玉环哪里有做网站兔子bt樱桃搜索磁力天堂
  • 大连网站建设渠道今天的新闻是什么
  • java做的文学网站时事新闻最新
  • 微信团购群网站怎样做百度网盘搜索引擎网站
  • 网页制作常用的技术有哪些四川seo多少钱
  • 温州科技网站建设中国进入全国紧急状态
  • 网站滚动效果怎么做的2345网址大全
  • 关于做公司网站建设你应该知道的手机百度识图网页版入口
  • 我的三次做网站的经历文军seo
  • 广州市住宅建设发展有限公司网站什么是网站seo
  • 临朐营销型网站建设百度做广告怎么收费
  • dedecms 做的医院网站网络营销专业学什么课程
  • 网站首页设计过程新的网络推广方式
  • 为什么凡科网做的网站无法搜索谷歌推广
  • 图派做网站百度推广退款电话
  • 深圳市网站设天津百度推广网络科技公司
  • 网络服务商能删除网站湖南网站建设seo
  • 福州企业自助建站南宁网站推广排名
  • 创意中山网站建设2023年时政热点事件
  • 免费企业网站制作品牌公关具体要做些什么
  • 做新闻类网站需要什么资质必应搜索引擎入口