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