我正在尝试弄清楚Mongodb索引何时加载到内存中。假设我有n个集合,每个集合都有m个索引。那么当mongodb启动时,所有的n x m索引都会加载到内存中吗?根据文档,他们提到,如果索引适合RAM,那么所有索引都会被加载。如果不是,它们中的一些将被交换到辅助存储。但是我找不到他们澄清的地方,如果在mongodb启动时,所有的<
我已经在MongoDB中创建了一个集合,它有四个索引(一个用于_id,一个用于切分的键,另外两个用于字段f1和f2上的查询优化),并且它是在一个8节点集群上分片的(每个节点都有14 other )。但是我希望MongoDB将所有索引加载到内存中,因为每个节点的内存总量为14 6GB,“top”命令表示MongoDB在每个节点上使用大约6GB的内存。索引大小如下:
2
我正在用MongoDB开发一个web应用程序。我注意到一种现象,当重复执行相同的查询时,处理速度会提高,最后会在某个点收敛。与查询集合中的所有文档一样,每次查询的时间将为100000 ms -> 20000 ms -> 9000 ms -> . -> 500 ms。
我想知道提速背后的原因是什么?以及如何估计收敛点?