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

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 鉴于之前遇到很多 本地-》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的插件,进行简单的数据存、查、删等操作。
相关文章
|
9月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
286 0
|
7月前
|
存储 网络协议 数据库
脑控网络设计方案
本内容详细描述了一个虚构的“脑控通信网络”系统架构及通信流程,涵盖核心网络组成、用户开户流程、心灵感应终端注册、跨网络通信机制,以及脑控网与互联网、移动网的数据交互方式。内容包含模拟的通信协议设计、数据包标识、网络路由机制等技术细节,整体基于作者原创的设定,用于探讨未来通信的可能性。
278 74
|
数据采集 数据安全/隐私保护
脑控网络设计方案续写
本文补充说明了普通设备通过脑控终端热点接入互联网的数据传输流程,涵盖连接认证、数据包标识、核心网绑定与编号生成、数据转发及断开连接的完整过程,详述了设备间通信、验证、路由与逻辑删除机制,完善了脑控网络与普通互联网交互的技术闭环。
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
340 22
|
12月前
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
602 6
|
10月前
|
机器学习/深度学习
解决神经网络输出尺寸过小的实战方案
在CIFAR10分类模型训练中,因网络结构设计缺陷导致“RuntimeError: Given input size: (256x1x1). Calculated output size: (256x0x0)”错误。核心问题是六层卷积后接步长为2的池化层,使特征图尺寸过度缩小至归零。解决方案包括调整池化参数(如将部分步长改为1)和优化网络结构(采用“卷积-卷积-池化”模块化设计)。两种方案均可消除报错,推荐方案二以平衡特征表达与计算效率。
|
Web App开发 监控 网络协议
网络分析与监控:阿里云拨测方案解密
网络分析与监控:阿里云拨测方案解密
372 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
388 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
308 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。