详谈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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python中使用logging模块代替print(logging简明指南)
Jul 09 Python
Python实现爬取逐浪小说的方法
Jul 07 Python
深入解析Python设计模式编程中建造者模式的使用
Mar 02 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
Python中super函数用法实例分析
Mar 18 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
Django处理多用户类型的方法介绍
May 18 Python
python中property属性的介绍及其应用详解
Aug 29 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
Python 如何创建一个线程池
Jul 28 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
php简单统计字符串单词数量的方法
2015/06/19 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
JS中Iframe之间传值的方法
2013/03/11 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
基于vue实现分页效果
2017/11/06 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
深入解答关于Python的11道基本面试题
2017/04/01 Python
python机器学习之神经网络(三)
2017/12/20 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python 解压pkl文件的方法
2018/10/25 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
对Django外键关系的描述
2019/07/26 Python
python实现复制文件到指定目录
2019/10/16 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
关于python中导入文件到list的问题
2020/10/31 Python
澳大利亚相机之家:Camera House
2017/11/30 全球购物
减负增效提质方案
2014/05/23 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书