详谈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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
python实现监控windows服务并自动启动服务示例
Apr 17 Python
Python本地与全局命名空间用法实例
Jun 16 Python
python比较两个列表是否相等的方法
Jul 28 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
Python面向对象类继承和组合实例分析
May 28 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
python线程的几种创建方式详解
Aug 29 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 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和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
Pyramid添加Middleware的方法实例
2013/11/27 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
python字符串的index和find的区别详解
2020/06/20 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
python 实现图片裁剪小工具
2021/02/02 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
2015年银行客户经理工作总结
2015/04/01 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL