如何减少MongoDB中第一个查询的查询响应时间?

时间:2011-11-16 11:37:52

标签: performance mongodb indexing

我在MongoDB中有一个包含2000万个文档的集合,并为该集合创建了一个索引。我已确认find()查询使用索引(col_1_col_2)(使用说明确认)。但是,我注意到一天中的第一个find()查询需要5-10秒,但所有后续查询都需要不到100毫秒。

更新了DB统计信息: db..stats() ns。 数20135438 尺寸5694.57m avgObjSize 296.55146314672 storageSize 7109.57m numExtents 35 nindexes 4 lastExtentSize 1188.86m paddingFactor 1 旗帜1 totalIndexSize 3044.69m indexSizes {    “ id ”:653319632,    “col_1_col_2”:691730480,    “col2_1”:848832320,    “col1_1”:998706576 } 好的1 {顶部:1} 共18 readLock 16

问题: 1为什么第一个查询需要更长的时间? 2这与在RAM中加载索引有关吗?

1 个答案:

答案 0 :(得分:0)

在第一次请求期间检查磁盘活动。它可能与将数据从磁盘安装到RAM有关。

如果你使用linux:iostat -m 1会帮助你。

相关问题