EC2 - 出站请求限制

时间:2018-01-24 12:15:09

标签: node.js amazon-web-services amazon-ec2 proxy

我们在ECS上运行我们的docker容器,EC2具有2CPU和4GB RAM。

我们遇到的问题是我们显然正在为出站请求提供EC2实例的限制。

我们有类似网关的服务,它代理请求。

如果在整个EC2实例上我们的Node.js项目有1个容量为1CPU的容器,那么我们得到大约250RPS(每秒请求数),CPU可以达到80% - 这很好。

但是,如果我们在一台EC2机器上运行2个容器,每个容器有1个CPU,则RPS不会改变,整体CPU负载保持不变(这意味着每个容器的使用率仅为40%) - 基本上这两个容器可以代理相同数量的请求,他们有足够的RAM和CPU来做更多。

我们还尝试加载测试我们的/版本端点,它不代理任何东西,一切都按预期工作 - 我们达到CPU限制,自动缩放开始,两个容器使用100%的整个EC2实例...所以绝对不是在客户端 - > cloudfront-> ALB->我们的网关容器。此限制不在我们的Node.js代码中,因为一个EC2实例上的两个容器可以代理与该EC2实例上的一个容器相同数量的请求。

我没有找到任何关于出站EC2限制的内容,例如最大开放连接(套接字)......网络带宽实际上也非常低 - 每个EC2实例为250 RPS,机身仅包含50个(简单JSON),所以每个EC2实例应该只有几千字节。

PS:我们正在使用http-proxy库 PS2:我们还不能使用Fargate,因为它现在仅在我们东部可用,我们在世界各地都有部署

更新:网络使用7Mb /秒(所以250 RPS看起来像4kB /请求)

0 个答案:

没有答案