详谈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 相关文章推荐
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
Jan 21 Python
Python实现类的创建与使用方法示例
Jul 25 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
Python: 传递列表副本方式
Dec 19 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
Python logging模块handlers用法详解
Aug 14 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
python 提取html文本的方法
May 20 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 minixml详解
2008/07/19 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
php快速查找数据库中恶意代码的方法
2015/04/01 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
详解Python核心对象类型字符串
2018/02/11 Python
python str字符串转uuid实例
2020/03/03 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
护士试用期自我鉴定
2014/02/08 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
求职信名称怎么写
2014/05/26 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS