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

查看:131
本文介绍了mongodb - 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 不正常的速度

解决方案

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

这篇关于mongodb - Python写的爬虫出现了规律性暂停的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆