详谈python http长连接客户端
作者:jingxian 时间:2023-07-30 22:37:01
背景:
线上机器,需要过滤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,长连接,客户端
0
投稿
猜你喜欢
python实现删除列表中某个元素的3种方法
2023-02-08 16:01:59
python爬虫利用代理池更换IP的方法步骤
2023-10-04 05:50:38
如何通过Python实现定时打卡小程序
2023-10-20 14:11:33
TensorFlow神经网络构造线性回归模型示例教程
2023-07-18 08:35:13
windows 10下安装搭建django1.10.3和Apache2.4的方法
2022-01-01 01:07:51
Python实现带图形界面的炸金花游戏
2021-06-21 15:41:56
Python使用正则表达式过滤或替换HTML标签的方法详解
2023-02-08 10:49:52
怎样在MySQL数据库中导出整个数据库
2008-12-31 15:13:00
浅谈Python数据类型之间的转换
2023-12-06 03:58:31
Python学习笔记之字符串和字符串方法实例详解
2021-07-13 19:13:16
fso对象CreateTextFile方法调用时“无效的过程调用或参数”错误
2009-05-26 15:39:00
按日期打印Python的Tornado框架中的日志的方法
2023-09-29 12:28:13
考虑SQL Server安全时所应注意的几个方面
2009-01-04 13:57:00
python实现文件助手中查看微信撤回消息
2023-09-03 07:23:50
探讨如何计算age的sql函数
2024-01-21 12:44:31
Python计算三角函数之asin()方法的使用
2023-08-04 22:31:46
仿淘宝网站的导航标签效果!
2008-11-05 12:37:00
详解Python中命令行参数argparse的常用命令
2022-06-06 15:59:30
计划备份mysql数据库
2009-03-09 14:34:00
Go-ethereum 解析ethersjs中产生的签名信息思路详解
2023-08-05 21:34:49