文档章节

java爬虫gecco的稳定性测试

xtuhcy
 xtuhcy
发布于 2016/03/28 11:42
字数 699
阅读 389
收藏 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

粉丝 103
博文 16
码字总数 18277
作品 1
北京
后端工程师
加载中

评论(2)

xtuhcy
xtuhcy

引用来自“Brandon007”的评论

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

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

近日,合作伙伴想要针对我们的应用服务器做一个性能测试,测试的基础是伙伴原有的一个功能庞大而结构复杂的业务系统,目的是看应用服务器是否能够满足业务系统的需要,并对应用服务器做一个总...

晨曦之光
2012/03/09
0
0
LinkedIn网站架构设计启示

本文是阅读<LinkeddIn: A Professional Social Network Built with JavaTM Technologies and Agile Practices>后的一些总结思考。 简介 LinkedIn创建于2003年,拥有(指发布那个PPT时的统计数......

优雅先生
2014/03/06
0
4
使用Selenium来抓取动态加载的页面

一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取。在我写的爬虫框架webmagic里也使用了HttpClient来完成这样的任务。 但是有些页面是通过js以及ajax动态加载...

黄亿华
2013/07/26
0
33
java抓取动态生成的网页--吐槽

最近在做项目的时候有一个需求:从网页面抓取数据,要求是首先抓取整个网页的html源码(后期更新要使用到)。刚开始一看这个简单,然后就稀里哗啦的敲起了代码(在这之前使用过Hadoop平台的分...

开源oschina
2014/10/16
0
0
影响Java EE性能的十大问题

本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的10个影响Java EE性能问...

jiyayun
2013/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea新建springCloud项目(5)- 订单服务

1.创建订单api,如下: 2.创建订单实现逻辑 3.新建订单、订单商品表 -- 订单 create table `order_master` ( `order_id` varchar(32) not null, `buyer_name` varchar(32) not null comment......

monroeCode
9分钟前
0
0
游戏开发经验谈(二):对战类全球服游戏的设计与实现

上篇文章《游戏开发经验谈(一):游戏架构里隐藏的五个坑及其应对方案》,我们主要讲解了游戏架构设计当中隐藏的一些坑及其应对方案,错过的小伙伴可以回溯之前的内容。本期内容,将会重点介...

UCloudTech
18分钟前
0
0
Mysql基本语法

一.联合主键 drop table CONTENT_AND_CATALOG;CREATE TABLE `tobebetter`.`CONTENT_AND_CATALOG` ( `ID` VARCHAR(120) NOT NULL , `CONTENT_ID` VARCHAR(120) , `CA......

我是菜鸟我骄傲
20分钟前
0
0
179. centos7 安装mariadb

1. centos7 中安装mariadb 1.1 执行安装 centos7 自带了mariadb yum -y install mariadb mariadb-server 1.2 启动mariadb systemctl start mariadb 1.3 设置开机启动 systemctl enable maria......

Lucky_Me
27分钟前
0
0
【AI实战】动手训练自己的目标检测模型(YOLO篇)

在前面的文章中,已经介绍了基于SSD使用自己的数据训练目标检测模型(见文章:手把手教你训练自己的目标检测模型),本文将基于另一个目标检测模型YOLO,介绍如何使用自己的数据进行训练。 ...

雪饼
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部