详谈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中的自省(反射)详解
Jun 02 Python
Python程序中设置HTTP代理
Nov 06 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
Jun 13 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
python中Lambda表达式详解
Nov 20 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
用Python自动清理系统垃圾的实现
Jan 18 Python
python生成随机数、随机字符、随机字符串
Apr 06 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
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
js倒计时抢购实例
2015/12/20 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
Python3基础之基本运算符概述
2014/08/13 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
双方协议书
2014/04/22 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫