3
我正在使用nodetime来分析node.js应用程序的高CPU使用率。 CPU使用率的 超过30%是从猫鼬来:Mongoose(node.js模块)导致高CPU使用率
下一个最大的罪魁祸首,在仅5%,是垃圾收集器。
我相信我以前听说过,那猫鼬会导致CPU使用率很高,而且它可以是最好跳过它,直接使用蒙戈驱动程序。这是否准确?
这里的“Geocode.decodeMnay”功能,触发此特定热点...
Geocode.prototype.decodeMany = function(strs, callback)
{
var or = [],
map = {},
fields = {'woeid': 1, 'matched_queries': 1, 'latitude': 1, 'longitude': 1, 'radius': 1, 'name': 1},
unique = [];
strs = _.uniq(strs);
for(var k=0; k<strs.length; k++)
or.push({'matched_queries':strs[k].trim()});
this.model.find({$or: or}, fields, (function(e,matches){
// ... excluded for brevity
}).bind(this));
};
我否则怎么可能会加快这一热点?
note它不是查询需要很长时间,正如您所看到的,而是需要很长时间来处理结果(并且在进程中消耗大量CPU)的Mongo驱动程序。
我不知道如何我的文档中错过了这个。谢谢! – 2013-02-26 19:52:31
在大型查找查询中使用lean()将执行时间减少了70-80%,并消除了100%的CPU峰值。非常有用的选项,我希望我早点知道! – 2013-07-29 17:35:08