Elastic Beanstalk / ELB 增加了超过 60 毫秒的延迟

Posted

技术标签:

【中文标题】Elastic Beanstalk / ELB 增加了超过 60 毫秒的延迟【英文标题】:Elastic Beanstalk / ELB adding over 60ms latency 【发布时间】:2017-07-24 05:39:35 【问题描述】:

我在 AWS Elastic Beanstalk 上运行一个微服务,它在内部以 1-4 毫秒记录它的响应,但 AWS 仪表板显示平均为 68 毫秒(甚至不计算与 AWS 之间的延迟)。这是正常的吗? EB/ELB 会为每个请求增加 60 毫秒的延迟似乎很奇怪。

它被配置为使用 Docker 容器,它似乎使用 nginx。虽然它似乎没有配置为在访问日志中记录 ttfb,但这是由 Amazon 自动配置的。

在测试中,我尝试了 t2.micro 和 t2.large 实例,这对测试结果没有影响。有什么我可以调整的吗...确实需要将其控制在 10-20 毫秒(不包括 rtt/ping 距离)才能使服务有用。

【问题讨论】:

开启 ELB 的日志记录,然后发出一些请求,并关联 ELB 和应用程序之间的时间戳,看看你看到了什么。 如果使用多容器 Docker 环境,它不会将 nginx 放在 docker 容器和 ELB 之间。你可以试试看。 我们有三个内部数据中心用于我们的应用程序的一部分,我们不能合法地将它们放到云中...为了方便/规模,我们正在将我们可以移动到云中...运行ELB 中的整个堆栈不是一个选项。 【参考方案1】:

这似乎是亚马逊方面的一个问题......周五平均为 69 毫秒,今天(周一早上)现在是 3.9 毫秒

【讨论】:

以上是关于Elastic Beanstalk / ELB 增加了超过 60 毫秒的延迟的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk VPC - 从 ELB 到实例的 HTTPS

如何使 ELB 将协议传递给 node.js 进程(Elastic Beanstalk)

Cloudfront 在连接到 ELB/Elastic Beanstalk 时抛出 504

如何在 Elastic Beanstalk Cloud Formation 脚本中强制 ELB 配置

在 Elastic beanstalk 中将 ELB 设置为 Autoscaling Health Check Type

AWS APi Gateway 客户端证书,带有适用于 Elastic Beanstalk ELB 的 AWS 证书管理器