503 Slow Down 响应码的官方文档说明

您每秒可以在 Amazon S3 存储桶中为每个分区前缀发送 3500 个 PUT/COPY/POST/DELETE 和 5500 个 GET/HEAD 请求。当您提高至存储桶的请求速率时,S3 可能会在扩展以支持该请求速率时返回 503 Slow Down 错误。此扩展过程被称为分区。

为避免或尽量减少 503 Slow Down 响应,请验证您的存储桶中的唯一前缀数量支持您所需的每秒事务数 (TPS)。此验证可以确保您的存储桶利用 Amazon S3 的扩展和分区功能。此外,请确保对象及对象的请求均匀分布在唯一的前缀中。有关更多信息,请参阅最佳实践设计模式:优化 Amazon S3 性能。

官方文档说明:

解决 Amazon S3 中的 503 Slow Down 错误

其中问题:分区是指什么


S3储存说明

  • 键值对说明

实际上S3的储存中,是按键值对进行文件储存

例如下面2个文件

/dir1/obj1/dir1/dir2/obj1

虽然看着像是在不同的层级(把【/】看成文件夹路径的话),实际上其实都在一层

即:

"/dir1"     :obj1
"/dir1/dir2":obj1
  • 分区说明

S3中的分区是按文件key值的相同部分来进行动态分区,即随时可能发生扩分区和缩小分区

例如下面2个文件

/dir1/dir2/dir2/3/obj1
/dir1/dir2-2/obj1

虽然看着key值只有前半部分相同,但是根据S3的机制,可能会获取该key值相同部分的值来进行分区

即:

"/dir1/dir2" + "/dir2/3" : obj1"/dir1/dir2" + "-2"      : obj1 

那么,如果在 "/dir1/dir2" 这个分区中的请求次数超过限制时,会出现下面2个现象

  • 请求的响应码为503 Slow Down.

    • 此现象无法避免
    • 技术人员反馈说,正常每天会有几千条503响应码,合并小文件能很好解决这个情况
    • 若出现上万条,才可能会影响到作业
  • 触发S3扩容机制
    • 扩容需要时间
    • 没有提早进行扩容的机制(例如添加参数)

解决方法

临时解决方法

  • 可以单独为这个路径提交工单添加分区

    • 但是其他任务也可能会出现503的现象,这个方法只算是治标不治本的解决方法
  • 减少对该分区中的请求数
    • 减少并发
    • 减少文件数

根本解决方法

AWS侧的技术人员表示曾多次反馈,建议多建立S3桶来创建更多的分区,最好的是一个EMR集群对应一个S3桶

但是目前看来,是比较难以推动的

  • S3桶中现有的储存数据量较大
  • 库表的储存命名规则也不便于增加分区
    • AWS侧建议的命名规则是桶路径的前面增加更多可分区的名字,例如将日期YYYYMMDD改成DDMMYYYY

作业出现Amazon S3; Status Code: 503错误分析相关推荐

  1. com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 403;

    开发项目配置完移动云测试图片上传时,报错,如图所示: 具体报错信息: Exception in thread "main" com.amazonaws.services.s3.mo ...

  2. 403,404,503等 HTTP状态码(HTTP Status Code)

    HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释: 1xx(临时响应) 表示 ...

  3. amazon s3_在Amazon S3上托管静态网站

    amazon s3 Static website hosting on Amazon S3 is one of the very popular use cases of Amazon S3. It ...

  4. Amazon S3简介

    目录 文献参考: 存储桶 对象 键 区域 S3数据一致性模型 存储类别 存储桶策略 AWS Identity and Access Management 操作 创建请求 AWS 账户访问密钥 IAM ...

  5. HTTP状态码-HTTP Status Code

    HTTP状态码->HTTP Status Code HTTP Status Code 常见的状态码: HTTP: Status 200 – 服务器成功返回网页HTTP: Status 404 – ...

  6. 使用git clone的时候报错:Received HTTP code 503 from proxy after CONNECT

    文章目录: 1 问题出现的原因 1.1 问题描述 1.2 尝试解决问题 2 解决错误:Received HTTP code 503 from proxy after CONNECT 2.1 我遇到这个 ...

  7. 基于 Bitbucket Pipeline + Amazon S3 的自动化运维体系

    1 前言介绍 随着自动化运维水平的提高,一个基础的运维人员维护成百上千台节点已经不是太难的事情,当然,这需要依靠于稳定.高效的自动化运维体系.本篇文章即是阐述如何利用 bitbucket pipeli ...

  8. HTTP协议状态码详解(HTTP Status Code)

    HTTP协议状态码详解(HTTP Status Code) 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 ...

  9. ssis 循环导入数据_使用集成服务(SSIS)包从Amazon S3 SSIS存储桶导入数据

    ssis 循环导入数据 This article explores data import in SQL Server from a CSV file stored in the Amazon S3 ...

最新文章

  1. 汇编语言 利用and运算 将字符串中的某个字母变成大写
  2. JS设置浏览器URL,任意定制,安全可靠
  3. linux 编程博客,Linux系统编程博客参考
  4. CV Papers|计算机视觉论文推荐周报20200601期
  5. C++中STL-全排列
  6. php的auth权限类源码
  7. Quartz的job中注入的services接口为空的解决办法
  8. JavaScript和JQuery获取DIV的值
  9. 一条SQL语句求前面记录的平均值
  10. graphpad prism图标设置_科研绘图软件-Graphpad prism使用教程(六)
  11. html+css 背景图片铺满并居中
  12. 查询用户连续登录的天数
  13. AR平台:1.ARSDK介绍
  14. 12306接口协议分析
  15. Android对现有的apk进行修改(汉化,修改QQ尾巴)
  16. 个人网页、博客、课程--不断更新
  17. 3dsmaxC4DbodypainterPS画贴图一、展开模型UV。
  18. 视觉问答学习(一)——视觉问答的动态记忆网络DMN+(tensorflow实现)
  19. 删除姓名、年龄重复的记录——数据库
  20. 大规模SNS中兴趣圈子的自动挖掘

热门文章

  1. 黑苹果能登录苹果账号吗_你能让我的网站更像苹果吗
  2. java开发移动画册_云画册—移动画册创作平台
  3. 推荐这些可以给日常生活增添趣味的软件
  4. JavaWeb-LayUI框架的介绍与使用方式(前端框架篇)
  5. 腾讯云服务器端口怎么全打开?
  6. 湖南计算机高等专科学校高考分数线,刚刚!2019年湖南高考分数线出炉!
  7. 企业管理者应建立“水性思维”
  8. 五款非常有趣的手机APP你都知道吗
  9. 前端js压缩图片:compressionjs的使用
  10. JDK1.8HashMap源码级分析