详谈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 加密的实例详解
Oct 09 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python wxpython 实现界面跳转功能
Dec 17 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
Python Selenium参数配置方法解析
Jan 19 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
python 实现socket服务端并发的四种方式
Dec 14 Python
pycharm 实现调试窗口恢复
Feb 05 Python
详解分布式系统中如何用python实现Paxos
May 18 Python
python3 字符串str和bytes相互转换
Mar 23 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 win下Socket方式发邮件类
2009/08/21 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python reduce()函数的用法小结
2017/11/15 Python
浅谈Python NLP入门教程
2017/12/25 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
Python中的流程控制详解
2021/02/18 Python
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
Java模拟试题
2014/11/10 面试题
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
房产公证委托书范本
2014/09/20 职场文书
党员民主评议总结
2014/10/20 职场文书
世界气象日活动总结
2015/02/27 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
python3使用diagrams绘制架构图的步骤
2021/04/08 Python
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python