首页 > 其他分享 >【Atlas】记录一次平台访问Post数据到阿里云概率性 失败的问题排查

【Atlas】记录一次平台访问Post数据到阿里云概率性 失败的问题排查

时间:2022-09-30 16:56:29浏览次数:45  
标签:并发 怀疑 问题 排查 阿里 公网 Atlas Post 数据

背景

2周前,对阿里云上的web 服务增加了HTTPS的支持,原因是Google 对于安全的验证需求 导致 请求经常挂掉,页面无数据或者整个页面被 白屏的问题;

然后做好变更后,开发人员就离职,然后就当天离奇的发现 Post 数据无法支持 高并发了。 之前的并发设置为 500 都没事,现在是50就一定挂掉。

最开始怀疑,https 改动因为加了证书的缘故,代码需要同步改动,但是事实上测试后,并不能解决问题。让小朋友排查2周无线索,使用方找来投诉。。。

无奈,自己上手查,review了下代码,逻辑也比较简单,就是简单的并发post请求,无证书;代码不方便透露,但是也不重要;

 

排查过程

1,开始怀疑https 证书问题或者restful 接口变更

由于开始怀疑证书的问题,代码测试后发现无法解决问题,被排除;然后怀疑是不是restful 接口最近有什么变化,但是开发否认有相关变更;这个也得到确认,最近我们没有相关内容发版;

然后,写了简单的案例,10000并发,2条数据发送,  正常收到;这里注意:2条数据量非常小;

回到必现场景:并发50,单条数据非常非常大;

也就是说,并发不是问题,数据量才是问题;

 

2, 怀疑数据量过大,资源瓶颈问题

这时候开始怀疑是 阿里云资源瓶颈导致了。于是去查服务监控;并联系阿里云技术支持,一起查看监控数据;

最开始的时候,有部分监控丢失,阿里云支持说需要装监控,ok:https://cloudmonitor.console.aliyun.com/hostMonitoring/all

 

 

 查看监控数据:

 

 

 实际上,大部分资源都不到瓶颈,公网(内网)带宽有些许峰值;达到限额 100M/s

 

3,怀疑网络问题

这里开始怀疑网络问题导致的服务不可用; 查看ecs 自检测,提示丢包问题;更加确定了方向;

然后找客服确认,说不会超过上限,我截图后他们也一起排查,确认是公网流量上限导致数据丢包问题;

问题来了: 为什么我走内网的vpc ,会分配到公网流量;

这时候阿里云客服提到:如果内网 & 公网都开的情况下,访问指定公网IP的话, 就会走公网;

顿时茅塞顿开呀~   那我们走的域名 post, 解析过程自然是 公司DNS 解析的; 我ping了下服务,确实反馈是公网IP;

到现在,思路很清楚了!!

 

4, 解决办法

改Hosts 验证是内网IP 就可以并发上去(原本必现的错误 Test 可以正常运行,不再失败) ;验证确实可以解决问题;

然后解决办法有2个:

  • 在所有post 数据的机器上,进行hosts 更改;
  • 让公司运维修改DNS 配置,实现内网post 直接指定内网ip;这样既省钱,又服务更可靠了;

 

标签:并发,怀疑,问题,排查,阿里,公网,Atlas,Post,数据
From: https://www.cnblogs.com/xiami303/p/16745429.html

相关文章

  • postman 自动重定向地址问题, 301 Moved Permanently
    最近公司在对接一家英国的服务商接口地址为:https://XXX.app/API?testMode=1在对接这家公司的api接口的时候遇到了一点问题,甚是头疼,现在就把经历记录下来当我在调试......
  • r2d2-postgresql
    externcrater2d2;usestd::{thread,io::Read};user2d2_postgres::{postgres::{NoTls,GenericClient,SimpleQueryRow,SimpleQueryMessage},PostgresConnectionM......
  • postman 模拟form Post 测试传入List<String>参数方式
    1.postman测试传入List<String>参数方式  http://www.zzvips.com/article/206812.html 2.关于postman的form-data如何传递数组形式 https://blog.csdn.net/chrispaul......
  • 秋色园QBlog技术原理解析:页面Post提交机制(十一)
    文章回顾:1:​​秋色园QBlog技术原理解析:开篇:整体认识(一)​​--介绍整体文件夹和文件的作用2:​​秋色园QBlog技术原理解析:认识整站处理流程(二)​​--介绍秋色园业务处理......
  • http的请求方式有哪些?get和post区别?
    HTTP1.0定义了三种请求方法:GET,POST和HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。1、OPTIONS返回服务器针对特定资源所支持......
  • Spring源码-InstantiationAwareBeanPostProcessor
    InstantiationAwareBeanPostProcessor继承了BeanPostProcessor接口,扩展了BeanPostProcessor的功能。publicinterfaceBeanPostProcessor{/**调用init方法的前置处理......
  • Get和Post的参数传值
    1.get是从服务器上获取数据,post是向服务器传送数据。2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过......
  • 设备接入EasyGBS平台主动发送BYE消息的原因排查与分析
    EasyGBS国标视频云服务是基于国标GB28181协议的视频平台,支持设备/平台通过国标GB28181协议注册接入,可实现的视频功能包括视频直播、录像、语音对讲、云存储、告警、级联等。......
  • 【树结构】【递归】【CTE】【PostgreSQL 】
    1表结构oid、pid为父子结构2代码点击查看代码WITHRECURSIVEfas(SELECT*FROMwg_formulaWHEREoid=1UNIONallSELECTwg_formula.*FROMwg_formul......
  • PostgreSQL主从切换测试
    说明在PostgreSQL(HOT-Standby)如主库出现异常。备库如何激活;来替换主库工作。有下列2种方式备库在recovery.conf文件中有个配置项trigger_file。它是激活standby的触发文件......