我刚开始使用leveldb,我想知道是否有人可以为我回答一些问题。我在具有8 GB RAM,20 GB存储空间,2个内核和intel i7处理器的CentO VM上运行它。我不知道这是否重要。
我想测试leveldb的性能,所以我尝试按顺序执行1000万次放置,(不是批处理)而我无法做到,我得到了内存不足的错误。但当我做一个顶级时,我看到该节点仅使用了大约25%的可用内存。我做错了什么?
这是我的代码:
var level = require('level');
var db = level('test.db' {
valueEncoding: 'json'
});
for (i = 0; i <= 10000000; i++) {
var value = { 'value': i };
db.put(i.toString(), value);
}
当这次失败时,我尝试了在没有任何问题的情况下在2-3秒内完成的100万次投注。我把它增加到350万,并在等待约40分钟后出现内存不足的错误。我注意到代码设法遍历所有的put但是然后在*.ldb
中生成了一堆test.db
文件并继续生成它们直到我的内存不足。
有人可能会向我解释发生了什么事吗?