Mongodb访问磁盘中的数据要比访问内存中的数据慢得多,而且mongodb的内存是依靠
操作自身管理的,不想mysql中中的innodb,存储引擎,还需要管理自己的内存调配.
因此事先将磁盘中的数据加载到内存中可以大大提高mongodb的性能。
将数据库/数据目录移至内存:
1
2
3
4
|
for
file
in
/data/db/brains
.*
do
dd
if
=$
file
of=
/dev/null
done
|
当要加载的数据大于内存大小的,之前加载的数据可能会挤兑出内存,所以有的时候将整个数据目录加载
到数据库中意义并不是很大,
如果出现这个情况可以只将访问比较频繁的集合加载到内存中
1
|
db.runCommand({touch:
"recordname"
,data:
true
,
index
:
true
})
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
rs0:
PRIMARY
> db.runCommand({touch:
"recordname"
,data:
true
,
index
:
true
})
{
"data"
: {
"numRanges"
: 3,
"millis"
: 91
},
"indexes"
: {
"num"
: 1,
"numRanges"
: 1,
"millis"
: 182
},
"ok"
: 1
}
|
集合加载成功。
本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1706622,如需转载请自行联系原作者