java爬蟲gecco的穩定性測試

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是支持代理服務器隨機選取的。

發佈了35 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章