- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我对 mongostat 中的故障指标有疑问。我在 ubuntu 上运行 mongo 2.0,在 raid-0 配置中有 2 个磁盘(每个 32G)。
加载到 mongo 500 万用户配置文件的测试。我在单线程中执行该过程并使用插入(批量 1000 个条目)。
当我第一次 设置 mongo 并将配置文件加载到其中时,我在加载过程中看到 mongostat 中的许多错误(2,5,甚至 15)。
然后我再次运行加载:首先我删除旧集合,然后运行加载。以下时间几乎所有时间都是 faults=0。
这是为什么?
最佳答案
MongoDB 通过内存映射文件机制将内存管理中继给操作系统。基本上,这种机制允许程序打开比安装的 RAM 量大得多的文件。当程序试图访问该文件的一部分时,操作系统会查看该部分(页面)是否在 RAM 中。如果不是,则 page fault发生并且该页面从磁盘加载。 mongostat 中的 faults/s
指标准确地显示了这一点:每秒发生多少页错误。
现在,当您启动 mongo 并将数据加载到其中时,数据文件不会映射到内存中,它们必须从磁盘加载(页面错误)。当你删除一个集合时,它被逻辑删除,但相应的物理文件并没有被删除,而是被重新使用。因为它们已经在 RAM 中,所以没有页面错误。
如果您改为删除数据库,它会带走文件,因此下次您应该会看到页面错误。
关于java - 解释 mongostat 中的 mongo 故障指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066438/
我正在尝试了解 mongostat 的结果: 例子 insert query update delete getmore command flushes mapped vsize res f
我正在使用 mongodb 并使用命令 mongostat --host localhost --port 27017 --all 查找统计信息 我正在其中获取统计数据。我的问题是我在编写脚本时使用相
我一直在使用 mongostats 来诊断我的 mongodb 实例中的整体事件。我如何使用它来诊断性能问题/降级? 我真正有兴趣深入了解的一个字段是锁定百分比和基于所有其他字段结果的预期行为。 我觉
我对 mongostat 中的故障指标有疑问。我在 ubuntu 上运行 mongo 2.0,在 raid-0 配置中有 2 个磁盘(每个 32G)。 加载到 mongo 500 万用户配置文件的测试
我刚刚为mongodb实现了auth,有一个用户'admin'在 db 'admin' 和 db 'mydb' 中的 'appadmin' 中一切正常。以下是我的数据库身份验证设置: use admi
有没有办法得到 mongostat 的结果?实用程序,例如没有。通过 java 驱动程序的查询/秒、插入/秒等。我发现的一种方法是通过 Mongo 对象获取服务器状态: db.command("ser
我正在使用 mongostat 和 mongotop 对 mongodb 进行一些分析 我运行 mongotop: $> mongotop 30 和 mongostat 简单地说: $> mongos
我正在使用 mongo-ruby-driver,我想获取统计/查询图表以显示 Mongo。但是不知道如何通过 mongo-ruby-driver 获取 Mongostats/Graphs。 非常感谢任
我是一名优秀的程序员,十分优秀!