系统环境

Ubuntu 16.04 Server

Python3.5

爬虫情况

1、从Mysql数据库获取任务

2、任务导入列表后开始http请求,将数据以文件形式保存到硬盘

3、开80线程

遇到的问题

1、家用路由器频繁死机(一天两三次)

2、爬虫开始时爬取速度很快,但是越来越慢

解决思路

查看爬虫日志发现路由器死机前,爬虫速度基本都在峰值,看来是路由器是累晕的,爬虫开始时速度快然后越来越慢,说明爬虫本身问题不大,应该是运行后消耗的系统资源越来越多,直到消耗殆尽而导致速度上不去。查看内存和cpu的消耗情况发现,在爬虫速度降低之后内存cpu的占用也有降低,看来问题不在硬件资源,那是不是网络资源内,使用netstat命令查看发现有大量“TIME_WAIT”状态的TCP连接,使用命令

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

查看发现TIME_WAIT状态的连接近2w,看来是资源tcp连接过多!此时想是不是爬虫http头部信息中Connection的问题呢,把Keep-Alive改为close并未解决问题!那Ubuntu有没有设置tcp连接控制方面的选项呢?通过搜索得知,tcp连接可以设置回收时间和是否可以复用,命令如下:

echo “1” > /proc/sys/net/ipv4/tcp_tw_reuse

#设置TIME_WAIT状态可以重用

echo “1” > /proc/sys/net/ipv4/tcp_tw_recycle

#设置TCP连接尽快回收

使用以上命令后问题果然解决!

python爬虫的国内外现状_Python3.5多线程爬虫越爬越慢的解决方法相关推荐

  1. Python 使用numpy报错:runtimeError: package fails to pass a sanity check解决方法

    Python中使用numpy和pandas时报错:RuntimeError: The current Numpy installation ('...\venv\lib\site-packages\n ...

  2. python极客学院爬虫_学习极客学院多线程爬虫课程的收获

    昨天开始了极客学院<XPath与多线程爬虫>课程的学习,主要涉及到XPath和requests的使用,在测试过程中出现了很多问题,经过不断摸索以及前辈们的帮助,现将经验总结如下: 1. P ...

  3. python运行不显示结果图示_pycharm运行和调试不显示结果的解决方法

    刚在虚拟机里面安装了pycharm,配置(setting)完后,新建一个py文件,键入"hello world",竟然没有结果,虽然运行成功.pycharm太不友好了吧! 然后开始 ...

  4. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法

    本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...

  5. 安装了pygame、但是在python无法导入_详解有关PyCharm安装库失败的问题的解决方法...

    最近因为要使用Python的缘故,安装了python IDE+pycharm,如此安装的原因是因为Pycharn 并不像anaconda一样拥有相对完整的依赖库和开发包,可以直接运行python,但因 ...

  6. python的scripts里没有pip_python的scripts文件夹无pip等文件解决方法

    下载安装python后,python的scripts文件夹无pip等文件解决方法: 1,下载安装easy_install,https://pypi.python.org/pypi/ez_setup/0 ...

  7. python报错TypeError: unsupported operand type(s) for -: ‘decimal.Decimal‘ and ‘float‘的解决方法

    问题描述 在编写python代码时,进行小数位相减时出现 TypeError: unsupported operand type(s) for -: 'decimal.Decimal' and 'fl ...

  8. Python网络爬虫爬淘宝无法爬取问题的解决方法

    看了嵩天教授的[Python网络爬虫与信息提取].MOOC. 北京理工大学   课程,里面有一段演示如何从淘宝爬取价格信息,但实际操作却不行,问题在于淘宝19年开始实行搜索必须登录,但是Python爬 ...

  9. iPhone内运行python,返回Killed: 9 ,iOS内安装python2.7等问题的解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 连接10.2系统版本的越狱iPhone,通过Cydia下载python,想在手机iPhone内运行python,但是在输入py ...

  10. python中升级pip报错_linux系统下pip升级报错的解决方法

    Pip 安装 1.在python中提供了一个get-pip.py;下面是地址 https://bootstrap.pypa.io/get-pip.py 2.在Linux下执行curl https:// ...

最新文章

  1. 一天掌握AI核心技术,上手应用,开发者该划哪些重点?
  2. Python [9] optparse模块生成命令行帮助信息
  3. 《网易编程题》分苹果
  4. GetDlgItem
  5. 吴恩达深度学习3.2笔记_Structuring Machine Learning Projects_机器学习策略(2)
  6. github提交代码403
  7. ServiceManager学习框图
  8. android禁止锁屏保持常亮
  9. 软件质量保证与测试期末复习整理
  10. 网络通信原理之TCP,UDP,QUIC
  11. mingw编译CMake后的OpenCV文件时出现:mingw32-make : 无法将“mingw32-make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  12. 征服,才是技术人的本能
  13. 基于java的简单英雄联盟胜率计算
  14. C++ 算法篇 动态规划----区间动态规划
  15. 网易云类音乐--主页与登录界面结构html+css实现(三)
  16. Atom编辑器折腾记_(22)二次翻译快捷键【追加1.8新版本新增快捷键】
  17. 有偿寻找安卓三维模型查看引擎
  18. 【高项】一次过 信息系统项目管理师 心得
  19. idea npm start启动前端项目报错:ERROR Failed to compile with 1 errors : This dependency was not found:
  20. 【逗老师带你学IT】ZoomRooms兼容硬件设计方案

热门文章

  1. Android -- TabHost
  2. 清空SQL数据库日志
  3. 待续--著名软件公司笔试算法题:122345排列组合
  4. 一个针对大学的程序设置表格项目在不断的更新
  5. 非平衡电桥电阻计算_微安表内阻值对热敏电阻温度计设计的影响
  6. stm32移植paho_paho.mqtt.c开源代码的ARM移植
  7. tp5.0 根据经纬度 获取附近信息_Redis怎么实现查找附近的人之数据类型Geospatial...
  8. for语句嵌套执行顺序_Python基础教程(四):循环语句
  9. OFFICE技术讲座:WP/SS文字渲染不开启的条件
  10. LINUX用终端命令调用打印机属性