有代码,
async.series(tasks, function (err) {
return callback ({message: 'tasks execution error', error: err});
});
其中,tasks
是函数数组,每个函数执行 HTTP 请求(使用request
模块)并调用 MongoDB API 来存储数据(到 MongoHQ 实例)。
使用我当前的输入(大约 200 个要执行的任务),它需要
[normal mode] collection cycle: 1356.843 sec. (22.61405 mins.)
但只需尝试从series
to更改parallel
,它就会带来巨大的好处。运行几乎相同数量的任务,~30 secs
而不是~23 mins
.
但是,知道没有什么是免费的,我试图了解这种变化的后果是什么?我可以说打开的套接字数量会更高,内存消耗更多,对数据库服务器的影响更大吗?
我运行代码的机器只有 1GB 的 RAM Ubuntu,所以我让应用程序挂在那里一次,会不会是资源不足造成的?