跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于爬虫并发量的疑问
未分類
19 7 月 2020

关于爬虫并发量的疑问

关于爬虫并发量的疑问

資深大佬 : winnerczwx 10

我在使用 scrapy 框架的过程中发现并发量上不去, 大概每秒 50 左右…想了解一下爬虫并发量除了跟网络, 源站点, 业务逻辑以外, 还有哪些因素会影响并发量呢?

1. 框架的并发设置是 500( 实际只有 50 )
2. 源网站性能应该是没问题的
3. 带宽 100M(实际并跑不满, 每秒大概只有 1M 左右)
4. 业务没有复杂逻辑, 页面下载完后就两个 xpath, 2 个正则, 然后就入库了
5. 硬盘是阿里云的云盘, 大概是 1240 IOPS 左右
6. 服务器 cpu 是 2 核的 (不知道是不是因为配置太低成为了瓶颈)

求大佬们解惑

大佬有話說 (19)

  • 資深大佬 : opengps

    你怎么确定源站服务器性能没问题?你这么疯狂爬取,最大的问题就是源站压力,每秒 50,一个页面怎么说也得有几次的硬盘读取,普通硬盘的话 io 可能已经到了极限了

  • 主 資深大佬 : winnerczwx

    @opengps 因为我也想知道是不是源站服务器有压力…所以在爬取过程中也访问了源站的页面, 依旧是瞬间打开…. 一个页面没多少东西,去掉页头页尾和一些广告,正文部分只有几百字

  • 資深大佬 : guochao

    祭出祖传 brendan gregg 的图
    http://www.brendangregg.com/Perf/linux_observability_tools.png

    这玩意儿建议你在本地做个 benchmark 。如果本地做不了,就监测服务器的指标,主要是 CPU 使用率、CPU 负载、内存、SWAP 、磁盘 bandwidth 、磁盘 iops 、磁盘 latency 、带宽占用、网络延迟这些。要不然谁都不知道你这是什么问题

    监控是比较模糊的。有条件的话还做全栈追踪,比如说试试看 zipkin 这类东西,看看具体什么东西在哪里花了多久。

  • 資深大佬 : heiheidewo

    真特么服了主这种,我以前碰到一个人爬我的数据,nginx 设置了单个 ip 每秒请求 100 次,活生生被这个人打满了,最后我也没屏蔽他的 IP 。
    恶意爬虫就应该被抓起来批斗

  • 主 資深大佬 : winnerczwx

    @guochao 感谢!

  • 主 資深大佬 : winnerczwx

    @heiheidewo 请问怎样的爬虫属于善意, 怎样的又属于恶意?

  • 資深大佬 : heiheidewo

    @winnerczwx 只要影响了别人网站的业务就是恶意爬虫,要是不影响那就无所谓吧

  • 資深大佬 : just1

    top 看一下系统资源占用吧

  • 資深大佬 : jugelizi

    控制频率是每个爬虫工程师值得做的事情

  • 主 資深大佬 : winnerczwx

    @heiheidewo 我在评论里回复了, 爬取过程中我访问他页面是瞬间打开的, 跟平时没有区别… 而且当时在凌晨, 那个时间段我估计他网站也没有流量

  • 主 資深大佬 : winnerczwx

    @just1 cpu 在百分之 40-50 左右, 内存在百分之十几

  • 資深大佬 : jones2000

    都是开源的直接看源码呗, 查下这个并发是同时启动 500 个线程吗?如果不是,就改源码同时开 500 个线程同时抓。

  • 資深大佬 : jones2000

    先确保你这个“并发设置是 500” 是 1 个进程里同时开 500 个线程去抓取吗? 还是使用多进程+多线程的方式达到 500 个同时抓。

  • 資深大佬 : herozzm

    我用 go 写的爬虫,家用带宽,爬的外面的多个网站,1000 多并发一点问题没有啊

  • 資深大佬 : locoz

    你可以打日志记录一下请求、解析、入库这三步每一步的耗时,这样就能很直观地看出哪一步慢、哪一步会被别的东西卡住了,然后再继续细化日志粒度、结合断点就能找到问题点。

    另外,单机 50 并发对于单个网站而言已经挺高了,更别提 500 了…建议别搞那么高并发,对你自己好对别人服务器也好。

  • 資深大佬 : locoz

    @heiheidewo #7 也不一定,涉及到别人的利益也可以是恶意爬虫

  • 資深大佬 : imdong

    并发跑 500 。不知对方是什么网站,怎么得罪人了…

    一秒跑 50 个,对于普通个人小站来说,已经是挺大的负载了(如果都是动态页的话)。

    主不妨本地建一个,镜像站,然后你爬 127.0.0.1 试下能不能上去。

  • 資深大佬 : warcraft1236

    scrapy 的并发配置贴出来看看?

  • 資深大佬 : d0v0b

    @winnerczwx 恶意爬虫我的理解就是影响别人赚钱了,else 你爱咋咋滴

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具