详谈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类的多重继承问题深入分析
Nov 09 Python
Python函数中定义参数的四种方式
Nov 30 Python
python分析网页上所有超链接的方法
May 08 Python
python分割列表(list)的方法示例
May 07 Python
python中logging包的使用总结
Feb 28 Python
python3 图片referer防盗链的实现方法
Mar 12 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
Python 如何对文件目录操作
Jul 10 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 APC缓存配置、使用详解
2014/03/06 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Python时间和字符串转换操作实例分析
2019/03/16 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
房屋租赁意向书
2014/04/01 职场文书
小学生家长寄语
2014/04/02 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
个人总结与自我评价
2014/09/18 职场文书
教师个人事迹材料
2014/12/17 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Elasticsearch 批量操作
2022/04/19 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript