我最近遇到了一个问题,每秒从磁盘读取的操作次数猛增约 1000 倍(频繁出现峰值),并达到我们在 AWS 中预置的 IOPS 限制,从而减慢了速度。
我最初的想法是,有一些东西将大量数据写入 MongoDB,将缓存中的数据驱逐回磁盘。
有什么方法可以明确地知道缓存中的内容,而不是打开和关闭可能导致此问题的各种功能?
用一种更具体地解决我的问题的方式来表达它——对我来说,找出为什么一段应该存在于内存中的数据突然不存在的最佳方法是什么。
编辑:我的设置的详细信息 - 它是一个使用 mongodb 3.0.6 的副本集,以 WiredTiger 作为存储引擎。
您可以使用这些有趣的ootb工具进行分析:
mongotop optional_secs:此命令显示 mongo 进程正在哪个集合上花费时间。它还显示了读取和写入所花费的时间。
mongostat: (like iostat) 告诉我们 mongo DB 的 IO 统计信息。
idx_miss %- 如果程序正在使用索引,则索引(内存)的未命中率意味着程序必须在磁盘中搜索。| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |