【OSS 排查方案-3】OSS 的网络排查

简介: 鉴于之前遇到很多 本地-》OSS ,上传、下载总是慢的情况,或者上传、下载经常出现错误或者异常的问题。根据多个典型案例,抽象出一下排查方案,希望对大家快速定位问题有所帮助。
作者:张医博

背景

鉴于之前遇到很多 本地-》OSS ,上传、下载总是慢的情况,或者上传、下载经常出现错误或者异常的问题。根据多个典型案例,抽象出一下排查方案,希望对大家快速定位问题有所帮助。

一、必要了解信息

  • requestID ,一般情况都会有,标识此次 OSS request 到达 OSS 服务端后返回的标志。除非建联失败,否则都会有这个 requestID 的,当问题比较难排查时可以将 requestID 提供给阿里云客服作为定位线索。
  • 明确 上传/下载 的方式(阿里的工具、SDK、API、浏览器),不同的方式会有不同的思路,类似 JAVA SDK 如果 maxconnection 设小了,也会造成链接等待超时。
  • 使用内网还是公网,大多数我们建议在 ECS 和 OSS 同可用区时最好使用内网,这样费用低,速度还快,公网一般出现拥塞,会被网络无限扩大。
  • 在 client 端 ping traceroute MTR 到 OSS 服务端的截图信息,看看到公/私网是否有丢包,或者用 tcpdump 抓包看下网络是否有高延迟高丢包以及 TCP 协议栈异常的问题。
  • 是否有明显报错,基本上遇到 socket timeout 的情况,都是网络超时,可以从本机的网络以及本机连接数,或者 client 是否有超时设置来排查。。
  • 以上信息收集到后准备测试,源 OSS URL 测试(举例):curl -svo /dev/null http://img.oss-cn-hangzhou.aliyuncs.com/uploads/temp/2018-01-02%20%2013-52-15-operate-stat.xls
  • 如果要是 CDN -》 OSS 的问题,可以分别固定 CDN 和 OSS 源站进行测试 curl -I -x CDNIP:80 http://xxx/xxx,固定源站 curl -I -x http://xxx.oss-cn-xxx.aliyuncs.com/xxx 如果测试 OSS 200 正常, CDN 异常,则问题可能发生在 CDN 侧。

二、明确自己的服务架构逐层排查

  • 本地 -》 OSS
  • 本地 -》proxy -》OSSproxy 种类有很多,
  • SLB
  • WAF
  • 高防

三、场景拟合

1、长时间或者间断性不能访问到 OSS

这种情况,先确认一下自己 bucket 有没有欠费,是否有被拉黑等,其次再本地的 PC 端 ping 下自己要访问的 OSS 公网域名(如果是用内网 ECS 通过私网 OSS 域名上传,可以 ping 私网域名)是否能通,以及 traceroute 到对端 OSS 的路由路径,看下是否断在了哪一跳。同时请自己网外的他人协助下同时发起 ping 和
traceroute 测试,看是否同样访问不通。如果是一样场景,可以将搜集的信息反馈给阿里云客服排查服务端是否异常。

image.png

场景2、本机上传文件到 OSS 超时,然后自动恢复

image.png

如图,遇到这类问题,需要先获取到必要信息。然后结合图中的 error 来看 socket 的异常,基本判断是由于网络问题导致了 Header 响应超时。侧面的 MTR TRACEROUTE 也可以看出来当时的网络质量如何,如网络正常但依然超时,可以直接抓包看下是哪端导致。

场景3、使用 JAVA SDK 上传文件超时返回 502

[chat-service] 2017-12-22 11:09:17,443 - com.aliyun.oss:73 -51224385 [http-nio-9081-exec-137] WARN - [Server]Unable to execute HTTP request: The difference between the request time and the current time is too large. [ErrorCode]: RequestTimeTooSkewed [RequestId]: 5A3C77583373BA19746BB032 [HostId]: sobot.oss-cn-beijing.aliyuncs.com [ResponseError]: <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>RequestTimeTooSkewed</Code> <Message>The difference between the request time and the current time is too large.</Message> <RequestId>5A3C77583373BA19746BB032</RequestId> <HostId>xxx.oss-cn-beijing.aliyuncs.com</HostId> <MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds> <RequestTime>2017-12-22T02:53:44.000Z</RequestTime> <ServerTime>2017-12-22T03:09:12.000Z</ServerTime> </Error>

image.png

如图,可以出现这种 Message ,已经明确告诉你本地与 OSS 服务端的时间差 >15min 导致。“The difference between the request time and the current time is too large”,出现此问题,一般与以下两个原因有关系:
1)用户本地的时间与服务端器的时区不一致,要求用户本地是标准的 GMT 或者 UTC 时间。
2)网络拥堵导致的等待时间过长超过 15min 。
3)JAVA SDK 参数配置不合理,比如 max connection

具体处理工作流如下

image.png

场景4、OSSFTP 上传到 OSS 时,抓包出现 zeroWindows

image.png

1、OSSFTP 是将远端的 OSS 挂载到本地,但操作的文件每次都是发起 HTTP 请求远端 OSS ,所以受到网络和本地 IO 的影响,高敏感的业务是不太适合的。

2、看数据包中客户端发生的 ZeroWindows (代表 本地协议栈的 cache buffer 出现过满,应用层无法消费掉 buffer 的数据)

3、通过 ECS 机器查看自己 CPU 、内网、网卡 是否有跑满情况,这种情况负载过高必然回导致慢的情况。

建议:

1、由于 OSSFTP 是串行,而且是 FTPCLIET->FTPSERVER->OSS SERVER 两段操作性能无法保证,推荐使用 ossutil ,
链接:https://help.aliyun.com/document_detail/50452.html?spm=5176.doc31935.6.1032.YMtcGp

2、ossutil 在上传大文件时可以采用分片多线程的粒度上传,而我们的 ossftp 是不存在分片的。所以还是推荐 ossutil

未完待续

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
1410 2
|
存储 Prometheus 监控
OSS监控体系搭建:Prometheus+Grafana实时监控流量、错误码、存储量(开源方案替代云监控自定义视图)
本方案基于Prometheus构建OSS监控系统,涵盖架构设计、指标采集、可视化、告警及性能优化,助力企业实现高可用、低成本的自建监控体系。
1256 1
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
537 0
|
存储 网络协议 数据库
脑控网络设计方案
本内容详细描述了一个虚构的“脑控通信网络”系统架构及通信流程,涵盖核心网络组成、用户开户流程、心灵感应终端注册、跨网络通信机制,以及脑控网与互联网、移动网的数据交互方式。内容包含模拟的通信协议设计、数据包标识、网络路由机制等技术细节,整体基于作者原创的设定,用于探讨未来通信的可能性。
458 74
|
数据采集 数据安全/隐私保护
脑控网络设计方案续写
本文补充说明了普通设备通过脑控终端热点接入互联网的数据传输流程,涵盖连接认证、数据包标识、核心网绑定与编号生成、数据转发及断开连接的完整过程,详述了设备间通信、验证、路由与逻辑删除机制,完善了脑控网络与普通互联网交互的技术闭环。
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
499 22
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
935 6
|
存储 运维 分布式计算
OSS迁移实战:从自建MinIO到阿里云OSS的完整数据迁移方案
本文介绍了从自建MinIO迁移至阿里云OSS的完整方案,涵盖成本优化、稳定性提升与生态集成需求。通过双写代理、增量同步、分层校验等技术,解决数据一致性、权限迁移、海量小文件处理等挑战,实现业务零中断与数据强一致性,最终达成79%的TCO降低和显著性能提升。
3322 0
|
机器学习/深度学习
解决神经网络输出尺寸过小的实战方案
在CIFAR10分类模型训练中,因网络结构设计缺陷导致“RuntimeError: Given input size: (256x1x1). Calculated output size: (256x0x0)”错误。核心问题是六层卷积后接步长为2的池化层,使特征图尺寸过度缩小至归零。解决方案包括调整池化参数(如将部分步长改为1)和优化网络结构(采用“卷积-卷积-池化”模块化设计)。两种方案均可消除报错,推荐方案二以平衡特征表达与计算效率。
|
Java 开发工具 对象存储
【OSS 排查方案-3】OSS 的网络排查
背景:鉴于之前遇到很多 本地-》OSS ,上传、下载总是慢的情况,或者上传、下载经常出现错误或者异常的问题。根据多个典型案例,抽象出一下排查方案,希望对大家快速定位问题有所帮助。 一、必要了解信息 requestID ,一般情况都会有,标识此次 OSS request 到达 OSS 服务端后返回的标志。
6867 0

热门文章

最新文章