返回顶部
首页 > 资讯 > 数据库 >NoSql之Mongodb日常操作命令整理
  • 660
分享到

NoSql之Mongodb日常操作命令整理

2024-04-02 19:04:59 660人浏览 安东尼
摘要

1、db.serverStatus()  看看分片性能信息db.serverStatus().connections;分片查看客户端连接数,monGod和mongos的连接属于长连接 

1、db.serverStatus()  看看分片性能信息


db.serverStatus().connections;分片查看客户端连接数,monGod和mongos的连接属于长连接


        "connections" : {
                "current" : 737, --当前活动连接量。连接到server的当前活跃连接数目
                "available" : 82 --剩余空闲连接量。剩余的可用连接数目
        },

db.serverStatus().mem  查看分片内存情况

  "mem" : {
                "bits" : 64, --64位机器
                "resident" : 18363, --占用物理内存量。
                "virtual" : 478810, --占用的虚拟内存量
                "supported" : true, --是否支持扩展内存
                "mapped" : 233311, --映射到内存的数据文件大小,很接近于你的所有数据库大小。
                "mappedWithJournal" : 466622,
                "note" : "virtual minus mapped is large. could indicate a memory leak"
        },

2、mongod 和mongos 登录方式,注意管理数据库要用mongo客户端登录管理

/usr/local/bin/mongo localhost:port

/usr/local/bin/mongo 10.20.25.48:10001 

/usr/local/bin/mongo  10.20.25.48:27017/admin -uroot -p123456


3、查看集群中,个分片平均分布情况

 sh.status() 

结果如下

                dbname.tablename

                        shard key: { "_id" : "hashed" }

                        chunks:

                                s2      16

                                s1      13

                                s3      14

                        too many chunks to print, use verbose if you want to force print

4、查看分片mongo性能

mongostat -h 10.20.25.48 --port 27017 -uroot -p123456  -n 100  20

mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongoDB的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

mongostat命令格式,当然也可以加参数:

在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:

mongostat -rowcount 20 1

mongostat -rowcount 20

mongostat -N 20 1

mongostat -N 20

在下面的例子中,mongostat返回的数据每5分钟(300秒),只要在程序运行。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。

mongostat - rowcount 0 300

mongostat -N 0 300

mongostat 300

在下面的例子中,mongostat返回的数据每5分钟一个小时(12次)。mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。

mongostat -rowcount 12 300

mongostat -N 12 300

在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27017,你可以使用下面的形式从群集中的所有成员返回统计:

mongostat -discover

以上参考文档:Http://cn.docs.mongodb.org/manual/reference/mongostat/ 

 

 主要详细说明一下各列的意义(也可以参考./mongostat --help)

insert:     一秒内的插入数

query :     一秒内的查询数

update:     一秒内的更新数

delete:     一秒内的删除数

  10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。

  但至少可以知道,现在是否在处理查询,是否在插入。

  如果是slave,数值前往往有一个*, 代表是replicate操作

 

getmore:    查询时游标(cursor)的getmore操作

  用处不大

    www.2cto.com  

command:    一秒内执行的命令数

  比如批量插入,只认为是一条命令。 意义不大。

  如果是slave,会显示两个值, local|replicated,通过这两个数值的比较,或许可以看出点问题。

  

flushes:    一秒内flush的次数 

  一般都是0,或者1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。

  flush开销是很大的,如果频繁的flush,可能就要找找原因了。

    

mapped:     

vsize:

res:

  这个和你用top看到的一样,mapped, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。

  

faults:

  别被这个名字吓着,大压力下这个数值往往不为0。如果经常不为0,那就该加内存了。

  

locked:

  MongoDB就一把读写,这里指的是写锁所住的时间百分比。这个数值过大(经常超过10%),那就是出状况了。

  

idx miss:

  非常重要的参数, 正常情况下,所有的查询都应该通过索引,也就是idx miss为0。如果这里数值较大,是不是缺少索引。

  

qr|qw: queue lengths for clients waiting (read|write)

ar|aw: active clients (read|write)

  如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。

  看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了。

  

netIn: network traffic in - bits

netOut: network traffic out - bits

  网络带宽压力,一般MongoDB,网络不会成为瓶颈

 

conn: number of open connections

  MongoDB为每一个连接创建一个线程,线程的创建和释放也是有开销的。尽量不要让这个数值很大。

 

repl: 服务器当前状态

    M   - master

    SEC - secondary

    REC - recovering

    UNK - unknown

    SLV - slave

    

time: 当前时间

 如果在windows下的cmd窗口中执行mongostat命令时,可能由于窗口太窄,监控数据排列较乱而阻碍视觉的情况,大家可以把结果输出到一个txt文件中,然后去查看这个文件,办法是曲折了一些哈哈。

E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt 

 打印2行结果到E盘的跟目录下的test.txt中。



5、查看mongo  tcp连接IP 排序

netstat -ant|awk '{print $5}' |awk -F: '{print $1}'|sort |uniq -c|sort -rn


6、mongo简单分片备份

/home/mongodb/bin/mongodump  -h292.168.0.15:50001  -u username  -p 123456 --authenticationDatabase admin   -d dbname -o  /home/data/dbbackup/


7、db.status() 查看分片集群状态


8、待续

您可能感兴趣的文档:

--结束END--

本文标题: NoSql之Mongodb日常操作命令整理

本文链接: https://lsjlt.com/news/37179.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • NoSql之Mongodb日常操作命令整理
    1、db.serverStatus()  看看分片性能信息db.serverStatus().connections;分片查看客户端连接数,mongod和mongos的连接属于长连接  ...
    99+
    2024-04-02
  • MySQL常用的操作命令整理
    本篇内容主要讲解“MySQL常用的操作命令整理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL常用的操作命令整理”吧! 1、启动MySQL服务...
    99+
    2024-04-02
  • NoSQL之redis(常用命令)
    keys           (1)介绍:返回满足条件的所有key,支持正则            (2)语法:keys key            (3)举例:                     ...
    99+
    2024-04-02
  • 整理Python中常用的conda命令操作
    1 conda介绍 conda是一个python的包管理器,用来管理、安装、更新python的包和相关的依赖。另外,conda可以为特定任务创建独立的环境,每个环境中可以只安装需要用到的包和依赖,还可以将环境导出成y...
    99+
    2022-06-02
    conda命令常用操作 Python conda
  • MongoDB常用的基本操作命令
    这篇文章主要讲解了“MongoDB常用的基本操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB常用的基本操作命令”吧! ...
    99+
    2024-04-02
  • Redis入门基础常用操作命令整理
    目录Redis基础一、redis是单线程二、关于数据库的常用操作1. 默认数据库2. 切换数据库3. 查看数据库大小4. 清空数据库三、关于Redis-Key的常用操作1. set ...
    99+
    2024-04-02
  • [MongoDB]mongodb的命令行操作
    ./mongo1.查看所有数据库show dbs2.切换数据库use 数据库名3.查询所有集合show collections4.查询所有文档db.文档名.find()db.文档名.find().pretty() //格式化显示5...
    99+
    2020-10-06
    [MongoDB]mongodb的命令行操作
  • MongoDB之基本操作与日常维护
    MongoDB基本操作 MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。 操作 描述 show dbs 查看当前...
    99+
    2024-04-02
  • MongoDB的安装及常用操作命令
    这篇文章主要讲解了“MongoDB的安装及常用操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB的安装及常用操作命令”吧!环境:cento...
    99+
    2024-04-02
  • MYSQL日常使用的命令整理
    这篇文章主要介绍“MYSQL日常使用的命令整理”,在日常操作中,相信很多人在MYSQL日常使用的命令整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYSQL日常使用的命令...
    99+
    2024-04-02
  • 五、Linux之常用命令操作
    date +%/Y:%m:%ddate +%/Y--%m--%ddate -uhwclock显示硬件时钟时间cal查看日历uptime用以查看系统运行时间man uptime查看帮助文档q用来退出 man命令查看硬件信息lspci-vPCI...
    99+
    2023-06-06
  • nosql之mongodb简单安装与命令使用
    nosql:非关系型,分布式,不提供ACID    简单数据模型    元数据和应用数据分离   ...
    99+
    2024-04-02
  • MongoDB基本命令操作
    在上一篇随笔中记录了如何在Centos7上安装MongoDB数据库,这一篇我们就一起来学学基本的操作命令。 安装完成后,shell交互式下输入mongo就可以直接无密码登录到数据库。 show dbs; ...
    99+
    2024-04-02
  • MongoDB Shell常用基本操作命令详解
    目录MongoDB Shell连接数据库库(database)的操作查看所有数据库test 库查看当前数据库删除数据库集合的基本操作创建集合查看集合删除集合其他 Shell 命令清屏...
    99+
    2022-12-08
    MongoDB Shell操作命令 MongoDB Shell
  • MongoDB Shell常用基本操作命令详解
    目录MongoDB Shell连接数据库库(database)的操作查看所有数据库test 库查看当前数据库删除数据库集合的基本操作创建集合查看集合删除集合其他 Shell 命令清屏退出 shell小结MongoDB S...
    99+
    2022-12-05
    MongoDB Shell操作命令 MongoDB Shell
  • mongodb 常用命令 日期, 分组
    日期分组 db.msds_acce***ecord.group({  keyf : function(doc){  var date =...
    99+
    2024-04-02
  • Mongodb常用命令之查询
    上一篇讲完了mongodb的增、删、改,本文就来讲解他的强大的查询功能。一、find命令简介及初探在mongodb中的查询使用的是find()命令。他2个参数,第一个参数是你的查询条件(默认为{}表示查询所...
    99+
    2024-04-02
  • MongoDB数据库常用的10条操作命令
    目录1. 显示全部可用数据库2. 切换数据库3. 显示数据集4. 插入数据5. 更新数据6. 替换文档7. 查询数据8. 统计条数9. 删除文档10. 查看帮助文档1. 显示全部可用...
    99+
    2024-04-02
  • mongodb的基本操作命令
    === mongodb的基本操作命令================= DDL操作=========================================================...
    99+
    2024-04-02
  • 常用操作命令
    net start mysql 第二招、登录mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的...
    99+
    2019-11-12
    常用操作命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作