首页 > 数据库 >17.MongoDB系列之了解应用程序动态

17.MongoDB系列之了解应用程序动态

时间:2022-10-17 20:23:09浏览次数:49  
标签:24 17 0ms MongoDB 应用程序 configRS 操作 154M 0.0%

1. 查看当前操作
mongos> db.currentOp()
{
        "inprog" : [
                {
                        "shard" : "study",
                        "type" : "op",
                        "host" : "2bffe09ec303:27019",
                        "desc" : "ReplBatcher",
                        "active" : true,// 操作是否正在执行
                        "opid" : "study:3427",// 操作的唯一标识符
                        "numYields" : 0,// 操作释放锁允许其他操作进行的次数
                        "locks" : {// 描述操作获取锁的类型

                        },
                        "waitingForLock" : false,// 操作当前是否处于阻塞并等待结果
                },
                {
                        ...
                        "secs_running" : NumberLong(0),// 操作执行时间(秒)
                        "microsecs_running" : NumberLong(239),// 操作执行时间(微秒)
                        "op" : "command", // 操作类型      
                }          
        ],
        "ok" : 1,
        ...
}
1.1 寻找有问题操作

client字段可以跟踪旧版本或者漏洞版本的软件信息

1.2 终止操作
// 传入opid,只有当操作让出时,才能终止操作
> db.killOp('study:2')
1.3 假象

任何在local.oplog.rs上长时间运行的请求及任何回写监听命令都可以被忽略。
MongoDB会长时间运行若干请求,最常见是复制线程和用于分片的回写监听器。

1.4 防止幻象操作

如果MongoDB中请求发生堆积,呢么写操作将堆积在操作系统的套接字缓冲区中。当终止正在进行的写操作时,就会开始处理缓冲区中的写操作。即使客户端停止发送写操作,MongoDB也会处理那些写入缓冲区的操作。
防止幻像写入的最好方法是执行写入确认机制。

2. 计算大小
2.1 文档

获取文档大小

> Object.bsonsize({_id:ObjectId()})
> Object.bsonsize(db.users.findOne())
2.2 集合
// 查看整个集合的信息
> db.movies.stats()
// 以TB为单位获取集合的统计数据
> db.big.stats(1024*1024*1024*1024)
2.3 数据库
// 查看整个数据库的信息
> db.stats()
3. 使用mongotop和mongostat
# mongotop -h localhost:27039
2022-07-24T11:43:55.304+0800    connected to: mongodb://localhost:27039/

                  ns    total    read    write    2022-07-24T11:43:56+08:00
      local.oplog.rs      1ms     1ms      0ms
   admin.system.keys      0ms     0ms      0ms
  admin.system.roles      0ms     0ms      0ms
admin.system.version      0ms     0ms      0ms
    config.actionlog      0ms     0ms      0ms
       config.chunks      0ms     0ms      0ms
  config.collections      0ms     0ms      0ms
    config.lockpings      0ms     0ms      0ms
       config.mongos      0ms     0ms      0ms
     config.settings      0ms     0ms      0ms
# mongostat -h localhost:27039
// insert query update delete getmore command 每秒操作发生次数简单统计
// flushes 将数据刷新到磁盘的次数
// vsize 所使用虚拟内存数量
// res 正在使用内容大小
// qr|qw 读操作和写操作的队列大小
// ar|aw 有多少活跃的客户端
// net_in net_out 网络传入传出字节数
// conn 连接数
insert query update delete getmore command dirty used flushes vsize  res qrw arw net_in net_out conn      set repl                time
    *0    *0     *1     *0       2     7|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  3.89k   79.6k   16 configRS  SEC Jul 24 11:52:41.199
    *0    *0     *0     *0       0     1|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0   524b   74.5k   16 configRS  SEC Jul 24 11:52:42.202
    *0    *0     *0     *0       0     4|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.06k   76.2k   16 configRS  SEC Jul 24 11:52:43.200
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0   731b   75.5k   16 configRS  SEC Jul 24 11:52:44.200
    *0    *0     *0     *0       0     3|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.06k   76.0k   16 configRS  SEC Jul 24 11:52:45.200
    *0    *0     *0     *0       1     3|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.84k   76.0k   16 configRS  SEC Jul 24 11:52:46.199
    *0    *0     *0     *0       0     3|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.06k   76.0k   16 configRS  SEC Jul 24 11:52:47.200
    *0     2     *0     *0       0     2|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.37k   75.9k   16 configRS  SEC Jul 24 11:52:48.199
    *0    *0     *0     *0       0     3|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0  1.06k   76.0k   16 configRS  SEC Jul 24 11:52:49.200
    *0    *0     *0     *0       0     2|0  0.0% 0.0%       0 1.93G 154M 0|0 1|0   731b   75.4k   16 configRS  SEC Jul 24 11:52:50.200

欢迎关注公众号算法小生或沈健的技术博客shenjian.online

标签:24,17,0ms,MongoDB,应用程序,configRS,操作,154M,0.0%
From: https://www.cnblogs.com/shenjian-online/p/16800501.html

相关文章

  • 16.MongoDB系列之分片管理
    1.查看当前状态1.1查看配置信息mongos>useconfig//查看分片mongos>db.shards.find(){"_id":"study","host":"study/localhost:27018,localhost:27019,loc......
  • 15. MongoDB系列之选择片键
    1.片键类型1.1升序片键升序片键通常类似于date或ObjectId--随着时间稳步增长的字段。这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的。1......
  • 闲话 22.10.17
    闲话今天是伊蕾娜生日诶听Muel说的想找张伊蕾娜的图来着然后第一时间想到了CYJian的luogu主页图都可以在评论区发!谢谢你们(一些认为应该被折叠的情绪化内容关于听......
  • 20221017笔记
    这两天学了c语言的循环语句,有点烧脑,但是感觉的确能提高生产力。一定要自己敲代码,不然很多问题学不会,比如分号、括号的位置,是大括号还是花括号,还有语句的表达式。重要的事情......
  • AcCoders 10692:【2022NOIP联测10 10月17日】交换(swap) 题解
    考虑把一次交换产生的贡献记录在交换的两个数字中较小的那个数字上。则构造一个好的序列的过程可以看成是:按照从小到大的顺序枚举每个数,每次选择将这个数放在序列的左边或......
  • 10.17
    今日内容1.异常常见类型2.异常处理语法结构3.异常处理补充4.异常处理实战应用5.生成器对象6.yield冷门用法7.生成器表达式1.异常常见类型SyntaxErrorNameError......
  • 工作总结反思2022年10月17日
    2022年10月17日晴,今天是比较冷的一天,今天迟到了,明天不能迟到了,最近的工作都是别人推送的,解决之前先得问同事,然后进行解决,主要的解决方法,自己不会,要多问,多学,看日志,别的......
  • 【C#之控制台与窗体应用程序】
    前言:学习一个东西,是一个逐步的过程,如盲人摸象,这是一个过程,到了最后的最后,会认识全局。这是在学习C#视频的一个感受。开始学习C#的时候,新建项目—控制台应用程序,然后开始敲代......
  • 【LeetCode】面试题 16.17. 连续数列(C++)
    面试题16.17.连续数列​​1题目描述​​​​2示例描述​​​​3解题思路​​​​4源码详解(C++)​​1题目描述给定一个整数数组,找出总和最大的连续数列,并返回总和。2......
  • 做题记录整理数据结构/线段树3 P3822 [NOI2017] 整数(2022/10/17)
    P3822[NOI2017]整数为什么这玩意是双tag呢因为他按理来说正解是用线段树来做的,但是有很多题解都是直接上set搞的,所以就两个tag都打上了首先我们可以想到用bitset来表......