文档章节

java爬虫gecco的稳定性测试

xtuhcy
 xtuhcy
发布于 2016/03/28 11:42
字数 699
阅读 538
收藏 0

#java爬虫gecco的稳定性测试 最近对开源的java爬虫Gecco做了一个稳定性测试,测试环境:一台爬虫+web应用服务器,一台mongodb服务器。服务器配置很low,两台都是阿里云最低端的主机,1核+512内存。 ##单线程测试场景 爬虫采用单线程,测试时间3×24小时,测试期间系统无异常,jvm内存稳定。测试结果:

  • 基本信息

      Interval: 5000,
      StartTime: "2016-03-22 14:47:40",
      ThreadCount: 1,
      StarUrlCount: 8
    

单线程,共有8个初始抓取链接,每个请求抓取完成后休息5秒。

  • 爬虫监控数据

      taocan.ctrip.com
      Statistics: "{"exception":134,"serverError":0,"success":11270}"
    
      vacations.ctrip.com
      Statistics: "{"exception":61,"serverError":0,"success":17548}"
    
      huodong.ctrip.com
      Statistics: "{"exception":42,"serverError":0,"success":11814}"
    
      www.tuniu.com
      Statistics: "{"exception":4,"serverError":0,"success":228}"
    
      temai.tuniu.com
      Statistics: "{"exception":78,"serverError":0,"success":3507}"
    
      www.lvmama.com
      Statistics: "{"exception":0,"serverError":415,"success":41}"
      http://www.lvmama.com/tuangou/sale-623250 DOWNLOAD ERROR :500
      http://www.lvmama.com/tuangou/sale-612687 DOWNLOAD ERROR :400
    
  • 结果

从监控数据可以看到:

ctrip.com相关的数据抓取成功率较高,为99.99%,出现的失败都是exception,也就是类似超时之类的错误。

tuniu.com相关的数据抓取成功率也较高,为99.97%,出现的失败也是exception。

lvmama.com的成功率就十分低了,而且返回都是serverError也就是服务器500或者400错误,查看发日志发现可能对方服务器对ip做了访问限制,在成功抓取10多条后就一直报400或者500错误。

##多线程测试场景 爬虫采用3线程,测试时间2×24小时,测试期间系统无异常,jvm内存稳定。测试结果:

  • 基本信息

      Interval: 5000,
      StartTime: "2016-03-26 11:16:57",
      ThreadCount: 3,
      StarUrlCount: 8
    

3线程,共有8个初始抓取链接,每个请求抓取完成后休息5秒。

  • 爬虫监控数据

      taocan.ctrip.com
      Statistics: "{"exception":58,"serverError":0,"success":19306}"
    
      vacations.ctrip.com
      Statistics: "{"exception":51,"serverError":0,"success":31402}"
    
      huodong.ctrip.com
      Statistics: "{"exception":62,"serverError":0,"success":17807}"
    
      www.tuniu.com
      Statistics: "{"exception":2,"serverError":0,"success":466}"
    
      temai.tuniu.com
      Statistics: "{"exception":118,"serverError":0,"success":5603}"
    
      www.lvmama.com
      Statistics: "{"exception":1,"serverError":410,"success":39}"
      http://www.lvmama.com/tuangou/deal-580212 DOWNLOAD ERROR :400
    
  • 结果

从监控数据可以看到和单线程结果基本一致

##总结 从测试中可以发现,开源java爬虫Gecco对系统要求很低,体现其轻量化的特点。无论在单线程还是多线程环境下,系统均能稳定运行。对部分网站访问限制的问题,需要通过代理服务器来完成,Gecco是支持代理服务器随机选取的。

© 著作权归作者所有

xtuhcy

xtuhcy

粉丝 123
博文 18
码字总数 20733
作品 1
东城
后端工程师
私信 提问
加载中

评论(2)

xtuhcy
xtuhcy 博主

引用来自“Brandon007”的评论

请问下,能不能设置爬虫只抓取一次?很多时候我需要的都是一次的数据就够了,没必要一直在请求

已经有人反映过这个问题,下一个版本会提供相关设置,如果着急使用可以github上下载最新代码编译
Brandon007
Brandon007
请问下,能不能设置爬虫只抓取一次?很多时候我需要的都是一次的数据就够了,没必要一直在请求
Gecco 1.2.5 发布,易用的轻量化爬虫

Gecco 1.2.5 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 更新内容: @Gecco注解支持多个matchUrl,一个spiderbean可以同时匹配多种形式的url jd地址...

xtuhcy
2016/11/03
2.5K
5
Gecco 1.1.3 发布,易用的轻量化爬虫

Gecco 1.1.3 发布了,该版本改进内容包括: 处理jsonp的时候,分号问题修复 2.支持自定义下载重试次数定义,GeccoEngine.retry(count) 3.HttpClientDownloader支持response的Set Cookie自动存...

xtuhcy
2016/05/31
2.4K
9
Gecco 1.2.2 发布,首个支持动态加载的java爬虫框架

Gecco 1.2.2 发布了,DynamicGecco实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco的目的是在不定义SpiderBean的情况下实现爬取规则的运行时配置。其实现原理是采...

xtuhcy
2016/07/18
1.7K
4
Gecco 1.2.4 发布,易用的轻量化爬虫

Gecco 1.2.4 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco 的目的是在不定义 SpiderBean 的情况下实现爬取规则的运行时配置。其实现原理...

xtuhcy
2016/09/12
2K
5
Gecco 1.2.3 发布,易用的轻量化爬虫

Gecco 1.2.3 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco 的目的是在不定义 SpiderBean 的情况下实现爬取规则的运行时配置。其实现原理...

xtuhcy
2016/08/19
1.5K
1

没有更多内容

加载失败,请刷新页面

加载更多

'var that = this;'是什么? 在JavaScript中意味着什么?

在一个JavaScript文件中,我看到了: function Somefunction(){ var that = this; ... } 什么是声明的目的that和分配this本呢? #1楼 这是使内部功能(在其他功能内定义的功能)更按...

javail
10分钟前
28
0
如何将视频转换视频为MP3,同时设置成MP3桌面播放器?

4K YouTube to MP3 for Mac是一款功能强大的在线视频转mp3工具,帮助用户从MP3,V4V和SoundGoud中,以MP3,M4A和OGG格式提取音频文件。接下来讲述的问题就是如何用4K YouTube转换YouTube视频...

麦克虾仔
13分钟前
62
0
关于List和数组转化问题

回过头来复习Java基础的时候,发现当初这一块有很多细节都没有掌握到,现在记录下来,以更好的夯实基础 List转数组 第一种方式是以无参形式直接返回一个Object[]类型的数组,不过这种方法会导...

即将秃头的Java程序员
18分钟前
39
0
Qt编写的项目作品5-气体安全管理系统

一、功能特点 采集数据端口,支持串口端口+网络端口,串口支持自由设置串口号+波特率,网络支持自由设置IP地址+通讯端口,每个端口支持采集周期,默认1秒钟一个地址,支持设置通讯超时次数,...

飞扬青云
20分钟前
65
0
为什么企业都需要虚拟化?向SD-WAN过渡有哪些挑战?

对于企业来说,从传统网络到SD-WAN的过渡,可能是一个相当复杂的过程,这里有几个因素需要考虑。 您希望通过怎样的方式将用户连接到应用程序? 如果您希望在许多不同的网络、站点和连接类型上...

Java进阶程序员xx
21分钟前
50
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部