爬虫对服务器 CPU,内存和网速的影响

softyun3年前云服务器36

这里介绍爬虫对服务器的影响,主要是给小白同学普及一下爬虫的基础知识。

在我们写爬虫的时候,首先会想到开多线程,如果使用的语言是Python,很不幸,因为Python存在GIL,在任何时候,CPU内只有一条线程在运行,但是Python的多线程也能提高爬虫的速度,并且我们用python的多线程去写爬虫的时候,速度并不慢,这是为何呢?因为爬虫是偏向于io的,网络IO和磁盘io是爬虫的最大瓶颈,现在CPU的处理速度很快,相对于请求来说,CPU的速度更快。网络请求需要等待对方服务器的响应,这个过程比较慢。而下载到数据后往自己数据库插入数据需要等待自己的磁盘响应。那么有没有一个更好的方法实现爬虫的并发下载呢?

答案是:有,我们可以使用第三方的框架,比如使用异步框架gevent,tornado等,或者是Python的多进程+异步方法,可以大大的提高我们的下载速度。

直接粘贴两张图片,第一种是消耗CPU和内存和带宽,第二张图片是多进程使用。

第一种图片第二种图片

在爬取某个网站的时候,同时开启了64个进程,并且是异步的方法,下载速度稳定在700k左右,因为公司运维给网络限速了,不可能提高网速了,然后是内存消耗是87%,内存是12G,CPU消耗是百分之百,CPU消耗为何这么高呢?主要是数据解析需要消耗CPU和进程切换也需要消耗CPU。一个网页的大小应该在10k到20k之间,粗略统计一下,一分钟能下载1750个网页,包括数据的下载,解析和入库整个过程。这个下载速度是1750*60分钟等于105000,也就是说一个小时是能下载十万个网页。

这个速度怎么样?我觉得这个下载速度是非常的慢,为何,因为这个网址他封ip了,需要通过代理去访问他们的服务器,这也是非常耗时的一个过程,只能通过ip池去解决,ip池里面维护了1000左右有效ip,并且有专门的服务去做验证,可以随时抽取一个ip去抓取目标网站。理想的状态是一分钟抓取3000条数据,一天24小时抓取500万左右个网页数据。

小伙伴是不是很惊讶?网络百分之九十的流量都是爬虫给贡献的,爬虫给目标网站造成了不小的压力,为了避免给目标网站造成破坏,不建议开启过多的并发。

专业提供python爬虫ip代理服务器,千万ip库,随便切换;十七年的IDC行业服务经验;拥有全球超过120个国家地区的数据中心!。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

新加坡站群服务器CN2带宽与国际带宽有何区别?

新加坡处于东南亚的中心位置,作为重要的金融中心,这里成为了亚太地区非常重要的网络枢纽,国内企业为了扩张东南亚澳洲或者新西南地区的网络业务,常常会租用到新加坡务器。新加坡站群服务器带宽类型同样分为CN2...

阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑)

昨天买了一年的阿里云服务器,系统是linux Centos7的,满怀憧憬的装了个mysql,接下来的一天让我差点怀疑人生。。。怎么装mysql就不多说了,反正我装了三遍,每次在阿里云上都能本地连接数据...

免实名服务器对seo优化有哪些影响

免实名服务器对seo优化的影响有:1、免实名服务器所在的地理位置会影响网站的搜索结果,不同地理位置的搜索结果不同;2、免实名服务器打开网站的速度会影响网站的排名;3、免实名服务器的安全性会影响网站的安...

选择vps美国服务器有哪些好处

选择vps美国服务器的好处有:1、带宽资源丰富,很适合外贸行业使用;2、不需要进行备案,能即开即用;3、美国是互联网发源地,技术实力雄厚、市场成熟,因此vps美国服务器稳定性好;4、如果客户群体是欧洲...

如何租用香港服务器更便宜?

香港机房的产品真的是比较贵的,虽然速度快但是对于很多新手站长来说租用的价格真的不是很美丽,实际上还是有不少用户能够以一个较为优惠的价格租用到合适的机器,那么其中有哪些门道呢,这里就来介绍一下,如何租用...

将网站转到香港云服务器上需要做什么

将网站转到香港云服务器上需要做的措施:1. 按照要求备份FTP里面的文件内容以及数据库中的数据。2. 要在服务器上搭建FTP,满足网站的安全需求。3. 将网站转到香港云服务器上需要根据香港云服务器的版...