当前位置: 首页 > news >正文

网站 售后服务淘宝自己网站怎么建设

网站 售后服务,淘宝自己网站怎么建设,珠海logo设计,平台网站建设在哪里1、问题描述 生产环境Nginx间歇性502的事故分析过程 客户端请求后端服务时一直报错 502 bad gateway,查看后端的服务是正常启动的。后来又查看Nginx的错误日志,发现请求后端接口时Nginx报错no live upstreams while connecting to upstream&#xff0c…

1、问题描述

生产环境Nginx间歇性502的事故分析过程

客户端请求后端服务时一直报错 502 bad gateway,查看后端的服务是正常启动的。后来又查看Nginx的错误日志,发现请求后端接口时Nginx报错no live upstreams while connecting to upstream,查看该错误的解释可以得到的结果是upstream中没有可以提供服务的server,即Nginx已经发现不了存活的后端了,但是,我直接访问后端的server却是可以使用的,证明server端可用。
最后查找文档,发现问题出现在业务上要求保持会话,但是Nginx到后端并没有保持会话,那么,Nginx当然就找不到后端可用服务,就会报no live upstream

参考文档:https://xiezefan.me/2017/09/27/nginx-502-bug-trace/

2、服务架构如下:

+--------+  HTTP   +-------+  HTTP   +-------+
| Client | ------> |       | ------> | API A |
+--------+         |       |         +-------+|       |  HTTP   +-------+|       | ------> | API B ||       |         +-------+|       |  HTTP   +-------+| Nginx | ------> | API C ||       |  HTTP   +-------+|       | ------> | API D ||       |  HTTP   +-------+|       | ------> | API E ||       |  HTTP   +-------+|       | ------> | API F |+-------+         +-------+

3、排查思路

一般讲,Nginx 502就是后端处理不过来,但查看监控后端几个API的负载均很低,当前请求的QPS远远低于服务的上限。而且同一瞬间,多套独立部署的API均处理不过来的概率也比较低。

我们简单做了个对比测试,分别对域名(请求走Nginx)与直接通过IP对内网一个API通过进行小规模压测。

对比测试发现,直接通过域名走Nginx对API进行压测的话,QPS远远小于预期,并且存在大量失败请求。基本断定问题出在Nginx —> API 这条链路上。同时排除了后端服务响应不过来的可能性。网络问题可能性大一点。

一开始我们怀疑云服务商对内网带宽做了限制,我们观察内网带宽达到在200MB/S后就上不去了,所以我们在Nginx机器上ping后端服务,观察一段时间发现有小量抖动,但基本延迟正常。那云服务商对网络做限制的可能性就变小了很多。

我们观察Nginx错误日志:

2023/08/26 14:23:00 [error] 5950#5950: *5172133211 no live upstreams while connecting to upstream, client: xxx.xxx.xxx.xxx, server: api.xx.xxxxxxx.cn, request: "POST /xx/xxxxxx/bidder HTTP/1.1", upstream: "http://xxxxxxxxxx/bidder", host: "api.xx.xxxxxxx.cn"

这里出现no live upstreams while connecting to upstream, 也就说一瞬间Nginx检测不到任何存活的后端服务,而网络又没有大波动,那就可能是TCP链接出问题。打开Zabbix监控发现TCP连接数的确发生剧烈的波动现象。

异常TCP连接数趋势
在这里插入图片描述
这时候问题很明显,Nginx->API这一链路存在大量的TCP链接被回收的情况,我们马上在API机器上查看链接状态

shell > netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
SYN_RECV 	 1
ESTABLISHED 	 656
FIN_WAIT1 	 4
TIME_WAIT 	 153429

TIME_WAIT特别的多,大量的连接被API侧主动关闭了。这说明Nginx->API这一步请求并没有Keep-Alive,我们检查Nginx,确定是配置了Keep-Alive

4、解决办法

修改nginx的配置

  location ^~ /xxxxxx/ {...proxy_http_version 1.1;proxy_set_header Connection "";     //规制强制指定使用1.1协议...
}
http://www.yayakq.cn/news/809793/

相关文章:

  • 中国制造网国际站官网org后缀的网站
  • 天猫网站建设的目标是什么搜索引擎推广预算
  • 建设银行咸阳交费网站足球比赛直播360
  • 网站建设公司效益怎么样中药材初加工平台
  • 湖北省勘察设计协会网站网站后台管理系统功能
  • 南京网站制作公司怎么样网站在线交谈
  • 在哪里找给公司做网站优化的人wordpress如何设置目录权限设置
  • 国内精品在线网站建设摄影师签约有哪些网站
  • 企业进行网站建设的方式有开发公司不建二次加压泵房
  • wordpress 网站登录无形资产 网站开发
  • 大学生网站设计作业动画文书写作网站
  • 网站生成海报功能怎么做新网站建设信息
  • seo建站还有市场吗大型行业门户网站开发建设
  • 萧云建设网站wordpress建站和定制网站Seo
  • wordpress 响应式产品展示站监察部门网站建设方案
  • 安全狗 网站打不开宣传片拍摄脚本范本
  • 网站的国际化 怎么做深圳网站建设 利科技有限公司
  • 网站制作费用申请找人帮忙做网站
  • 廊坊网站建设冀icp备WordPress做图床
  • jsp编写网站北京产品网站设计哪家专业
  • 四站合一网站建设价格一站式网站建设行业
  • 影评网站建设线上装修平台有哪些
  • 合肥做网站汇站网会展设计专业发展前景
  • 网站开发从零到企业管理app排行榜
  • 自己做的网站服务器开了进不去在线生成个人网站源码
  • 高唐企业建网站服务商网站广告条幅怎么做动态的
  • html5建设的网站分分作网站
  • 建网站学什么青岛网站建设情况
  • wordpress企业原创主题广东网络优化推广
  • 重新建设网站的请示建设广州公司网站