mongostat实在是太有用了,如果DB出现了异常,我第一反应就是查看mongostat。
如果是运维的话,喝着咖啡,看着mongostat,生活真是惬意啊。
运行很简单,./mongostat --host 10.45.3.97 --port 20127
主要详细说明一下各列的意义(也可以参考./mongostat --help)
insert: 一秒内的插入数
query : 一秒内的查询数
update: 一秒内的更新数
delete: 一秒内的删除数
10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。
但至少可以知道,现在是否在处理查询,是否在插入。
如果是slave,数值前往往有一个*, 代表是replicate操作
getmore: 查询时游标(cursor)的getmore操作
用处不大
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: 当前时间
相关推荐
此外,还可以通过Web界面如MongoDB Compass来可视化地管理和监控MongoDB实例。 MongoDB广泛应用于互联网应用、大数据分析、物联网(IoT)数据存储、内容管理系统等多个领域。其灵活性、高性能和易用性使其成为现代...
11. **监控与性能调优**:MongoDB提供了一系列的监控工具,如`mongostat`和`mongotop`,用于实时查看数据库的运行状态。根据监控结果,可以调整内存分配、磁盘I/O、网络设置等,优化数据库性能。 12. **备份与恢复*...
9. **监控和诊断工具**:MongoDB提供了丰富的监控和诊断工具,如`mongostat`和`mongotop`,帮助管理员了解数据库运行状况并进行问题排查。 10. **兼容性**:3.0.6版本保持与早期版本的兼容性,使得升级过程更为平滑...
为了监控MongoDB的运行状况,可以使用内置的`mongo` shell工具,它是一个交互式的JavaScript界面,允许你执行各种管理任务,如查看数据库、集合、索引等。还可以通过`mongostat`和`mongotop`命令获取数据库的实时...
8. **自动化运维工具**:MongoDB提供了诸如`mongodump`、`mongorestore`、`mongostat`等实用工具,便于数据库的备份、恢复、监控和维护。 9. **云友好**:MongoDB可以轻松部署在公有云、私有云或者混合云环境中,...
10. **监控与管理工具**:MongoDB提供了MongoDB Compass图形界面工具,用于数据可视化和数据库管理,还有命令行工具如mongostat、mongotop等,用于性能监控和诊断。 在实际应用中,MongoDB常被用于日志记录、内容...
MongoDB提供多种工具和方法来监控数据库性能,比如通过Web界面的MongoDB Compass,或者命令行工具mongostat和mongotop。及时发现和解决系统中的瓶颈和问题可以提升数据库的稳定性和可用性。 知识点十二:应用集成和...
`mongostat`和`mongotop`则提供性能监控。此外,还有MongoDB Compass可视化工具,帮助用户直观地查看和操作数据库。 源码层面,MongoDB是用C++编写的,其开源许可证为SSPL(Server Side Public License)。社区的...
监控MongoDB的状态,可以使用`db.runCommand({"serverStatus":1})`在数据库内部查询,或者通过命令行工具`mongostat`获取实时统计信息。 在启用`--auth`参数后,你需要创建用户。例如,创建名为"root"的管理员用户...