我一直在使用mongostats来诊断我的mongodb实例中的整体活动。我如何使用它来同时诊断性能问题/性能下降?
我真正感兴趣的一个字段是基于所有其他字段的结果的锁定%和预期行为。
我觉得这个功能有点模糊,需要更多的发挥。
发布于 2011-06-24 20:09:53
锁定的%是每个样本获取全局写锁(记住,mongo有一个进程范围的写锁)的时间百分比。当您增加写入次数(插入、更新、删除、db.eval()等)时,此百分比将增加。较高的值意味着数据库将花费大量时间被锁定以等待写入完成,因此在释放锁之前无法完成任何查询。因此,总体查询吞吐量将会降低(有时会显著降低)。
“错误”意味着mongo试图命中映射到虚拟内存空间但不在物理内存中的数据。基本上,这意味着它正在命中磁盘,而不是内存,并且表明您没有足够的RAM (或者,例如,您的索引不是正确平衡的)。不过,如果内存支持的话,这只在Linux上可用。这个值应该尽可能接近于0。
"qr:qw“是读取和写入查询队列,如果它们不为零,则意味着服务器接收的查询超过了它所能处理的数量。这不一定是一个问题,除非这个数字一直很高或在不断增长。指示总体系统性能不足以支持您的查询吞吐量。
大多数其他字段都是不言而喻的,或者没有那么有用。如果您希望被io绑定,那么netIn/Out是很有用的。如果这些值接近您的最大网络带宽,就会发生这种情况。
https://stackoverflow.com/questions/4761291
复制相似问题