为什么通过 ECS 部署的 Web 应用程序会遇到阻塞,而通过 EC2 部署时却不会遇到阻塞

问题描述 投票:0回答:0

我有一个基于 scala play 框架的 Web 应用程序。我的 ECS 部署遇到了某些 Web 请求阻塞的问题,而基于 EC2 的部署则不会。我想知道 ECS 和 EC2 之间是否还有其他架构或配置差异需要调整。

以下是这两种部署的一些要点:

  • 每个控制器端点都应该与此 Web 框架异步。
  • 我通过 Docker 容器进行部署。
  • Web 应用程序设置了一个与远程服务器通信的 Spark 会话。我仅在第一次访问远程集群或正在设置远程集群时遇到请求阻塞。关于ECS部署
  • ECS部署分配16vCPU和32GiB。 EC2 服务器是 c5d.4xlarge,具有 32GiB 和 16vCPU。
  • 两者都有用于路由流量的应用程序负载均衡器

我尝试增加 ECS 部署中的一些 Ulimit 设置、nofile 和 nproc,但这似乎没有什么区别。我尝试通过将 master conf 设置从 local[*] 更改为 local[2] 来减少分配给 Spark 会话的线程数。我预计不会发生阻塞,但它仍然发生了。

apache-spark amazon-ec2 playframework amazon-ecs aws-copilot
© www.soinside.com 2019 - 2024. All rights reserved.