gpt4 book ai didi

amazon-web-services - 即使实例处于完美健康状态,Elastic Beanstalk 也会报告 5xx 错误

转载 作者:行者123 更新时间:2023-12-04 08:12:49 25 4
gpt4 key购买 nike

我需要设置一个 api 应用程序来收集要在推荐引擎中使用的事件数据。这是我的设置:

  • 带有负载均衡器和自动缩放组的 Elastic Beanstalk 环境。
  • 我有 2 个 t2.medium 实例在负载均衡器后面运行。
  • EBS 配置为 64 位 Amazon Linux 2016.03 v2.1.1,运行 Tomcat 8 Java 8
  • 此外,我有 8 个 t2.micro 实例,用于对 api 进行高负载测试,每秒发送数千个请求以供 api 处理。
  • 我使用 Locust ( http://locust.io/ ) 作为我的负载测试工具。
  • Locust 运行的每个 t2.micro 实例最多可以发送约 500req/sec

  • 当 reqs/sec 低于 1000,也许是 1200 时,一切正常。一旦超过,我的负载均衡器报告它背后的一些实例报告 5xx 错误(附加)。我还尝试在负载均衡器后面使用 4 个实例,虽然开始时速度高达 3000req/sec,但不久之后,ebs 健康工具和 Locust 都报告了 503 和 504,而所有实例都处于完美的健康状态根据ebs Health Overview中的实际数字,显示只有10%-20%的CPU利用率。

    我在配置 env 时遗漏了什么吗?似乎无论我在负载均衡器后面有多少台机器,env 每秒处理的请求都不超过 1000-2000 个。

    enter image description here

    编辑:
    现在我确定是 ELB 导致了问题,而不是实例。

    我对 10 个模拟用户进行了负载测试。每个用户发送大约 1req/sec 并且负载增加 10 个用户/秒到 4000 个用户,这应该等于大约 4000req/sec。它似乎仍然不喜欢任何超过 3.5k req/sec ( attachment1 ) 的请求率。

    正如您从 中看到的附件2 ,负载均衡器后面的 4 个实例处于完美的健康状态,但我仍然不断收到 503 错误。只是负载平衡器本身导致了问题。看看 SurgeQueueLength 和 SpilloverCount 如何在某个时间快速增加。 ( 附件 3 )我想找出原因。

    此外,我完全删除了负载均衡器并仅使用一个实例进行了测试。它最多可以处理大约 3k req/sec。 ( attachment4 attachment5 ),所以它绝对是负载均衡器。

    也许我错过了负载平衡器默认设置的一些关键限制,比如 1024 的队列大小? 1 个负载均衡器的正常处理率是多少?我应该添加更多负载均衡器吗?它可能与可用区有关吗?来自一个区域的 ELB 监听器正在尝试路由到来自不同区域的实例?

    附件1:
    enter image description here

    附件2:
    enter image description here

    附件3:
    enter image description here

    附件4:
    enter image description here

    附件5:
    enter image description here

    更新:
    启用跨区负载均衡

    更新:
    也许这有助于更多:
    enter image description here

    最佳答案

    该消息表示“对 ELB 的 9.8% 的请求因 HTTP 5xx(6 分钟前)而失败”。这并不意味着您的实例不会返回 HTTP 5xx 响应。请求在 ELB 本身失败。当您的后端实例满负荷时(例如,连接已饱和并且它们拒绝与 ELB 的连接),就会发生这种情况。

    您的请求在 ELB 上泛滥。他们永远不会到达实例。如果它们在 EC2 实例上失败,那么原因就会不同,环境数据将与实例数据相匹配。

    另请注意,原因说这是“6 分钟前”的状态。 Elastic Beanstalk 多个数据源 - 一个是来自实例的数据,它在所示的表中显示每秒请求数和 HTTP 状态代码。另一个数据源是 ELB 的 cloudwatch 指标。由于 ELB 的 cloudwatch 指标是 1 分钟,因此此数据会稍微延迟,原因会告诉您信息的年龄。

    关于amazon-web-services - 即使实例处于完美健康状态,Elastic Beanstalk 也会报告 5xx 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37157741/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com