详谈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删除指定目录下过期文件的2个脚本分享
Apr 10 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
Python调用C++程序的方法详解
Jan 24 Python
python实现逻辑回归的方法示例
May 02 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
Python一键安装全部依赖包的方法
Aug 12 Python
python函数声明和调用定义及原理详解
Dec 02 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
python 实现图片修复(可用于去水印)
Nov 19 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多用户计数器代码
2007/03/11 PHP
php+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
python字符串排序方法
2014/08/29 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
团员的自我评价
2013/12/01 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
python实现简单的井字棋
2021/05/26 Python
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android