实事求是的说,用插件的方式采集文章,还是比较消耗资源的。尤其是选项设置不合理的时候,对服务器来说简直就是灾难。
如果用的是独立服务器或者是VPS,这个问题还不是很突出;
如果用的是虚拟主机,那就有必要了解以下的知识,更好的设置采集选项。

1.栏目设置
这个设置看起来跟自动采集没什么关系,关键之处在于,DEDE自动采集插件运行的时候,是会自动生成栏目列表页的。
你可能不知道,DEDEcms对大数据量负载处理的不是很好,在同一个栏目文章很多时,生成列表页的时间会很长。

这么说可能太抽象,我们来举个例子(只是例子,具体数字不一定对,仅作为参考):
比如某个栏目,是列表页,它下面有5000篇文章,在模板里面设置的是一个列表页显示20篇文章。
假设每生成一个列表页需要耗时1秒,那么要把这个栏目所有的列表页全部生成,总耗时=(5000/20)*1=250秒,约等于4分钟。

如果你觉得这个4分钟不算什么,那么我告诉你,自动采集插件运行一次,总耗时也就在2分钟左右。
如果你还是这个觉得4分钟不算什么,那么如果这个栏目总文章有1W,或者2W,或者3W呢?要知道,现在插件的采集能力已经提高到了4000+ ,2天左右采集到1W文章,并不是天方夜谭。

所以,栏目设置的关键就在于,尽量让同一个栏目不要有太多文章
你可以多设置一些采集节点,指向不同的栏目,分担同一个栏目接受文章的压力。
如果栏目文章实在太多,就把它下面再分几个子栏目,这个栏目就作为频道页面好了。频道页面生成一次估计也就是那么2、3秒钟,和生成列表页的速度,那是一个在天一个在地,完全不能比的。

还有一点,在配置文件[ /plus/autocollect.php ] 里面有一个选项:
$maketime = 600; //主页及栏目列表页创建间隔时间,单位秒

这个是限制生成栏目页的时间的,就算生成列表页一次需要4分钟,但如果我半个小时甚至一个小时才生成一次列表页呢?
合理的设置这个选项,可以很明显的减少采集时间浪费在生成列表页上。
一般这个选项设置在10分钟左右(也就是600秒)是比较合理的。

2.在DEDE后台->采集管理->采集节点里面可以批量设置一个采集节点的列表网址
这个列表网址你可以设置1个,也可以设置5个、10个,甚至100个(DEDE限制了每个采集节点列表网址最多100个)。
列表网址是需要一次采集完的,有10个就要采集10个,有100个就要采集100个。很明显,采集10个跟采集100个所需要耗费的时间大不相同。
往往目标站点的更新频率并没有那么快,列表页第一页以后的地址基本上都是重复的,昨天看到的和今天看到的基本一致,那么很多地址根本就不会被保存入库。
但是既然你这样设置了,自动采集插件就肯定要跑完这100个页面。
结果就是:时间也花了,更新的文章也没有采集到(因为从第一页往后基本都是旧文章,没有更新的),得不偿失。
根据我的经验,每个采集节点设置的列表网址最好在10个以下,5个左右。这样采集效率是最高的。

那么如果我确实要采集某个列表页的后面的地址怎么办?很简单,再加多几个采集节点。
比如某个目标采集列表,它有50页,那么你写可以设置5个采集节点:
第一个采集节点,采集:1-10页;
第二个节点:11-20页;
第三个节点:21-30页

依此类推。

不用担心采集插件会把时间浪费在这些(自从第一次以后就采集不到更新文章的)节点上面,比如上面讲的第2、3个节点。
插件会自动调整这些节点的采集频率,采集不到新文章的下一次轮到它的时间就会延长,越来越长,长到一天只采集3次。

3.定时采集
全天候采集,肯定要比定时采集耗费的资源更多。
如果有特殊的需要,或者虚拟主机提供商不允许在白天采集,那么我们就可以使用定时采集功能,在凌晨等时间段采集,避开平时服务器资源比较紧张的时候。点这里查看-> 如何设置定时采集功能

4.配置文件里面其他限制资源占用的选项
$coIntervalTime=60; //采集进程间隔时间,在上次采集进程以后,至少间隔多少秒才能再次启动采集进程,默认为60秒
这个选项一般保持默认的60秒就可以了,但如果实在资源很紧张,也可以把它设置的更长,比如120、180甚至300秒。

$addArchivesTime=180; //入库文章的最少间隔时间,单位秒,为0不限制,建议180
这个选项用来设置,从上一次入库文章以后,至少还需要多长时间,才会入库下一篇文章。如果文章被限制了不入库,自然就不会发生入库、生成这样的动作,所以也可以限制资源占用。

$maxAddArchives=200; //每天最多可以入库多少文章,为0不限制,建议200
这个选项是用来设置每天最多可以入库多少篇文章,道理同上面的选项,如果文章没有入库,资源占用肯定少。