MongoDB状态检测和常用命令学习记录——<三>

系列文章目录

MongoDB概念基础学习记录——<一>
MongoDB安装配置连接学习记录——<二>


一、mongostat状态检测

命令

 mongostat --host 127.0.0.1:27017 -uadmin -p123456 --authenticationDatabase admin

在这里插入图片描述

insert		# 每秒插入次数
query		# 每秒查询次数
update		# 每秒更新次数
delete		# 每秒删除次数
getmore		# 每秒执行getmore次数
command		# 每秒的命令数,比以上插入、查找、更新、删除的综合还多,还统计了别的命令
			`注: 一秒内执行的命令数比如批量插入,只认为是一条命令(所以意义应该不大)`
			
dirty		# 仅仅针对WiredTiger引擎,官网解释是脏数据字节的缓存百分比
used		# 仅仅针对WiredTiger引擎,官网解释是正在使用中的缓存百分比

flushes		# For WiredTiger引擎 指checkpoint的触发次数在一个轮询间隔期间
			# For MMAPv1 引擎:每秒执行fsync将数据写入硬盘的次数
			`注:一般都是0,间断性会是1, 通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。`
			`flush开销是很大的,如果频繁的flush,可能就要找找原因了`
			
vsize		# 虚拟内存使用量,单位MB
			#(这是 在mongostat 最后一次调用的总数据)	
res			# 物理内存使用量,单位MB
			#(这是 在mongostat 最后一次调用的总数据)
			`注:vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存`
			
qr|qw		# qr:客户端等待从MongoDB实例读数据的队列长度
			# qw:客户端等待从MongoDB实例写入数据的队列长度
ar|aw		# ar:执行读操作的活跃客户端数量
			# aw:执行写操作的活客户端数量
			
netIn		# 网络带宽压力,MongoDB实例的网络进流量
netOut		# 网络带宽压力,MongoDB实例的网络出流量
conn		# 打开连接的总数,是qr,qw,ar,aw的总和
			`注:MongoDB为每一个连接创建一个线程,线程的创建与释放也会有开销,所以尽量要适当配置连接数的启动参数,
			maxIncomingConnections,阿里工程师建议在5000以下,基本满足多数场景`
			
time		#时间戳

二、mongotop状态检测

mongotop --host 127.0.0.1:27017 -uadmin -p123456 --authenticationDatabase admin
在这里插入图片描述

ns			# 表示namespace,由库名和集合名称构成
db			# 库名,使用–locks显示
total		# 读操作和写操作总计耗时,以ms表示
read		# 读操作耗时
write		# 写操作耗时

三、常用命令操作

中文官网

3.1 基本操作

db.version()    # 查看数据库版本
db.status() 	# 查看数据库状态
show dbs  		# 查看所有数据库

在这里插入图片描述

db.getName()    # 查看当前数据库
show collections# 查看当前数据库的所有集合
use rec 		# 切换数据库

在这里插入图片描述

3.2 集合操作

db.test.find({id:10})          		# 返回test数据集ID=10的数据集  
db.test.find({id:10}).count()  		# 返回test数据集ID=10的数据总数  
db.test.find({id:10}).limit(2) 		# 返回test数据集ID=10的数据集从第二条开始的数据集  
db.test.find({id:10}).skip(8)  		# 返回test数据集ID=10的数据集从0到第八条的数据集  
db.test.find({id:10}).limit(2).skip(8) # 返回test数据集ID=1=的数据集从第二条到第八条的数据  
db.test.find({id:10}).sort()   		# 返回test数据集ID=10的排序数据集  
db.test.findOne([query])       		# 返回符合条件的一条数据  
db.test.getDB()                		# 返回此数据集所属的数据库名称  
db.test.getIndexes()           		# 返回些数据集的索引信息  
db.test.group({key:...,initial:...,reduce:...[,cond:...]})    		# 返回分组信息  
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)  	# 这个有点像存储过程  
db.test.remove(query)                      # 在数据集中删除一条数据  
db.test.renameCollection(newName)          # 重命名些数据集名称  
db.test.save(obj)                          # 往数据集中插入一条数据  
db.test.stats()                            # 返回此数据集的状态  
db.test.storageSize()                      # 返回此数据集的存储大小  
db.test.totalIndexSize()                   # 返回此数据集的索引文件大小  
db.test.totalSize()                        # 返回些数据集的总大小  
db.test.update(query,object[,upsert_bool]) # 在此数据集中更新一条数据  
db.test.validate()                         # 验证此数据集  
db.test.getShardVersion()                  # 返回数据集共享版本号  

参考文章:https://blog.csdn.net/weixin_43453386/article/details/83347385

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值