OSS “RequestTimeTooSkewed”

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: RequestTimeTooSkewed 经常遇到,但是原因比较多,分析难以下手,具体的表象可以看下面的截图,由于客户端(下文称之为 client)发出的请求时间和实际上服务端(下文称之为 oss) 收到的时间差大雨 15min 导致(oss Time - client Time > 15min) 时间标准 先排除掉最简单的问题,确认时间是否为标准的 UTC、GMT、CST 时间,如果时区不是东八区,只要换算成 +8 小时一致即可。

作者:张医博

RequestTimeTooSkewed

  • 经常遇到,但是原因比较多,分析难以下手,具体的表象可以看下面的截图,由于客户端(下文称之为 client)发出的请求时间和实际上服务端(下文称之为 oss) 收到的时间差大雨 15min 导致(oss Time - client Time > 15min)

image.png

时间标准

  • 先排除掉最简单的问题,确认时间是否为标准的 UTC、GMT、CST 时间,如果时区不是东八区,只要换算成 +8 小时一致即可。有的人可能使用自己的 NTP 时钟同步出现异常,导致 client 和 oss 收到时间相差 15min
    image.png

排查代码

  • 如果是用阿里云的 OSS SDK 的话,先检查下 OSS SDK 初始化链接数是多大,client 的并非请求是否已经超过了 SDK 的设置。

以下用 JAVA SDK 为例子默认的 maxconnect 是 1024 。在本机执行 netstat 命令看下 client 程序对应的 TCP 链接数有没有超过 1024。

排查主机问题

  • 使用 netstat 命令看下主机的 TCP 链接数(UDP TCP) 有没有超过 ulimit 的设置。
  • 查看主机出口的网络带宽有没有被打满

是有经过网络代理

  • client 是直传到 OSS ,还是经过 proxy 传输到 OSS ,如果有代理先要排查 client 到 proxy 链路是否有抖动丢包重传,以及 proxy 到 OSS 的链路。
  • proxy 如果链接数或者带宽被打满都会造成上传延迟、拥堵,导致 RequestTimeTooSkewed

排查网络问题
如果使用阿里云的 ECS 建议走内网的 internal 形式的域名操作 OSS 这个是阿里云内部网络,性能很稳定速度也很快,如果走公网的话并不是很可靠。
走公网的情况就需要做测试了。

  • 如果 client 到 OSS 是走公网上传下载,发生 RequestTimeTooSkewed 问题时,可以同步 ping -c 50 -i 0.01 -s 1024 通过 ping 可以发现有抖动和丢包。

image.png

  • traceroute 看下每一跳的延迟
  • mtr 看下公网链路是否有丢包。
  • 当时异常方法都查不到原因只能使用终极办法 tcpdump 、或者 Wireshark 抓包。

tcpdump -i <出口网卡> -s0 host -w slow_packet.pacp

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
缓存 Kubernetes Docker
容器服务ACK常见问题之容器服务ACK ingress websocket配置失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
Java
《Java并发库系列三》一newSingleThreadScheduledExecutor
newSingleThreadScheduledExecutor:产生一个ScheduledExecutorService对象,这个对象的线程池大小为1,如果任务多于一个,任务将按先后顺序执行。
1525 0
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
977 0
|
7月前
|
Web App开发 监控 JavaScript
如何最小化重排和重绘?
如何最小化重排和重绘?
507 136
|
5月前
|
机器学习/深度学习 人工智能 机器人
阿里云AI大模型免费7000万Tokens开通就送(附模型大全)
阿里云百炼平台新用户可免费领取7000万Tokens、100张图片生成及50秒视频创作额度,零门槛享90天有效期。活动涵盖通义千问、万相、百聆等大模型,个人与企业均可参与,配套多种资源包与抵扣优惠,助力AI应用低成本落地。
|
5月前
|
存储 缓存 前端开发
对象存储OSS入门到精通:数据存储最佳实践
本文系统讲解对象存储OSS从入门到精通的核心知识,涵盖Bucket、Object、存储类型、生命周期管理、安全权限、性能优化及实战方案,助您掌握高效、安全、低成本的数据存储最佳实践。
454 0
|
XML Java 数据格式
最近很火的SOFARPC是什么?带你快速入门SOFARPC
最近很火的SOFARPC是什么?带你快速入门SOFARPC
最近很火的SOFARPC是什么?带你快速入门SOFARPC
|
JSON 安全 Java
Elasticsearch 语法指南(全)
Elasticsearch 语法指南(全)
|
数据采集 监控 Kubernetes
【最佳实践】使用CloudLens排查iLogtail采集配置错误问题
本文主要介绍如何使用CloudLens for SLS定位和解决iLogtail日常使用中的常见问题之一:采集配置错误问题。
1815 0
【最佳实践】使用CloudLens排查iLogtail采集配置错误问题
|
存储 运维 容灾
打造具备极致容灾能力的对象存储
本文介绍本地冗余,做了哪些容灾设计、应对AZ故障的ZRS(同城冗余)产品的容灾设计以及应对Region故障的跨区域复制功能。
20911 2
打造具备极致容灾能力的对象存储