工作日常问题记录

阿里云邮件发送问题

mail_host = “smtp.mxhichina.com”
#mail_host = “smtp.qiye.aliyun.com”

smtpObj = smtplib.SMTP_SSL(mail_host, 465)

个人账号邮件发送
mail_host 填写为smtp.mxhichina.com
填写成smtp.qiye.aliyun.com 发送会有失败的情况

NoHttpResponseException问题

如果不是高并发的情况丢失链接

就可能是Keep-Alive客户端设置的问题
Connection: Keep-Alive 是用于 HTTP持久连接 的字段。

在 HTTP 1.1 中 所有的连接默认都是持续连接,除非特殊声明不支持。目前服务器端默认为 5-15 秒,可以设置。

以你的例子:一次请求了六个接口
如果开启HTTP持久连接,则此 6 个请求走同一条 TCP 连接,走同一条 HTTP 流。5 秒之内的所有请求都复用此 TCP 连接。当 5秒钟之内没有其他请求后,此连接断开。(一条长连接)
如果不HTTP持久连接,则此 6 个请求需要发起 6 条 TCP 连接(包括三次握手等),HTTP 请求后立刻断开,TCP 连接根据 操作系统 的释放规则进行释放。(6 条短连接)

开启后的优点:TCP 连接数比较少,所以随之而来和 TCP 相关的优点全都来了。其实和 HTTP 没什么关系,主要是大幅降低服务器端因大量新建 TCP 连接造成的 CPU负载,以及 TCP 传输相关的拥塞控制问题。

开启后的缺点:这个协议是为 HTTP1.1 而存在的,已经不完全适合现有的网络状况。以前带宽小,瞬时请求高,所以用这个方法降低 TCP 新建。但现在带宽大,并发高。如果 HTTP 服务存在长轮训或较长间隔请求,而且超过 Keep-Alive 的设置(比如 Keep-Alive 5 秒,但轮训周期是 6 秒),则可能会造成大量的无用途连接,白白占用系统资源。

所以具体是否设置 Connection: Keep-Alive ,以及后续 Keep-Alive 的参数设置,需要根据你网站业务来合理规划。

PS: HTTP/2 没有这玩意,用的是更先进的直接基于TCP层次的连接管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值