Python写的爬虫出现了规律性暂停

8核8g服务器

数据是存储在mongoDB中 大概三百万的数据

爬虫每次获取一万条开始爬行

每爬行完成一条便 update status

创建了进程池 大概两百进程 当任务队列不足十分之一(1w)便从mongoDb中抽取十万条数据 保持不空闲

正常速度应该是 update 20/s insert 130/s

刚开始运行时很正常 mongostat 监控的数据和程序记录的速度一致

但是运行二十分钟后 mongostat 的记录 update 40/s insert 60/s 程序的记录 变得很低

这个过程保持五分中后 一切又恢复原状了。。。速度正常 反复如此

mongoDB的日志看不出任何问题 插入一条100ms 读取一万条 600ms 更新一条 200ms

有经验的朋友帮忙分析下导致这种情况的可能

找原因都快疯掉了。。

拜谢

程序记录的速度
图片描述

mongostat 正常的速度
图片描述

mongostat 不正常的速度
图片描述

阅读 3.1k
2 个回答

找到问题了、、之前不知道有queue模块,自己实现的一个队列出现了问题。。。惭愧

新手上路,请多包涵

你好,我写的爬虫代码莫名其妙的爬10min就会断了,你能帮我看看吗QQ:2567856297

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题