源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详谈python http长连接客户端

  • 时间:2020-01-23 12:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详谈python http长连接客户端
[b]背景:[/b] 线上机器,需要过滤access日志,发送给另外一个api 期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截图了。。。) 总之就是端口不够用了报错 [b]原因:[/b] 每一条日志都是一次请求发送给api,短连接产生大量time_wait状态,占用了大量端口 这种高并发导致的大量time_wait状态内核调优基本是没用的,后来改为长连接解决问题 [b]第一版短连接版本关键代码如下[/b] 因涉及具体业务信息,只贴出了关键部分代码
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)
[b]修改后长连接版本如下:[/b] 采用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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部