详谈python http长连接客户端


Posted in Python onJune 12, 2017

背景:

线上机器,需要过滤access日志,发送给另外一个api

期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截图了。。。)

总之就是端口不够用了报错

原因:

每一条日志都是一次请求发送给api,短连接产生大量time_wait状态,占用了大量端口

这种高并发导致的大量time_wait状态内核调优基本是没用的,后来改为长连接解决问题

第一版短连接版本关键代码如下

因涉及具体业务信息,只贴出了关键部分代码

import pycurl
where True:
 url=myqueue.get()
 send_msg=pycurl.Curl()
 send_msg.setopt(pycurl.URL,url)
 send_msg.perform()
 print send_msg.getinfo(send_msg.HTTP_CODE)

修改后长连接版本如下:

采用requests库

import requests
client=requests.session()
headers = {'Content-Type': 'application/json', 'Connection': 'keep-alive'}
where True:
 url=myqueue.get()
 r=client.get(url,headers=headers)
 print r.status_code

以上这篇详谈python http长连接客户端就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
探索Python3.4中新引入的asyncio模块
Apr 08 Python
python3.6数独问题的解决
Jan 21 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
Pycharm配置PyQt5环境的教程
Apr 02 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 Python
Python Flask实现进度条
May 11 Python
浅谈Python 的枚举 Enum
Jun 12 #Python
sublime text 3配置使用python操作方法
Jun 11 #Python
python爬虫之百度API调用方法
Jun 11 #Python
python数据处理实战(必看篇)
Jun 11 #Python
requests和lxml实现爬虫的方法
Jun 11 #Python
Python实现自动登录百度空间的方法
Jun 10 #Python
Python实现获取命令行输出结果的方法
Jun 10 #Python
You might like
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python中with及contextlib的用法详解
2017/06/08 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
在python image 中实现安装中文字体
2020/05/16 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
《最大的“书”》教学反思
2014/02/14 职场文书
读书小明星事迹材料
2014/05/03 职场文书
公司年会策划方案
2014/05/17 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书