Java Elastic Beanstalk是否应用请求/分钟限制?

Java Elastic Beanstalk是否应用请求/分钟限制?,java,amazon-web-services,jmeter,amazon-elastic-beanstalk,amazon-elb,Java,Amazon Web Services,Jmeter,Amazon Elastic Beanstalk,Amazon Elb,我正在使用Elastic Beanstalk运行Java应用程序。 我无法处理每分钟超过25000个请求(约450个请求/秒), 不管我是否添加更多或更大的实例。 我正在同时从全球(爱尔兰、俄勒冈州、东京、我在波兰的本地机器)的几个JMeter客户那里进行测试。每个都有100条线 在CloudWatch metric上,我可以看到奇怪的行为: ELB上的公制,具有奇怪的“油门”行为: 当我通过ssh连接到应用程序服务器实例并检查网络和CPU使用情况时,看起来当达到“限制”时,不会向任何应用程序

我正在使用Elastic Beanstalk运行Java应用程序。
我无法处理每分钟超过25000个请求(约450个请求/秒), 不管我是否添加更多或更大的实例。
我正在同时从全球(爱尔兰、俄勒冈州、东京、我在波兰的本地机器)的几个JMeter客户那里进行测试。每个都有100条线

在CloudWatch metric上,我可以看到奇怪的行为:
ELB上的公制,具有奇怪的“油门”行为:

当我通过ssh连接到应用程序服务器实例并检查网络和CPU使用情况时,看起来当达到“限制”时,不会向任何应用程序服务器传递任何请求。无CPU使用,无网络传输(通过nload检查)。在这段时间内(最多一分钟),应用服务器实例只是iddle

所有实例上的CPU使用率都远未达到它们可以处理的最大负载。 我尝试了单个实例(没有Beanstalk),每分钟发出大约45000个请求(750 r/s)

首先。我怀疑我的测试是错误的,ELB只将所有请求重定向到一个实例(由于DNS解析), 所以我手动配置了ELB(没有Beanstalk),并手动将几个应用服务器连接到它。 它完美地分配了负载——当我在m3.medium上的测试数据库开始成为瓶颈时,我达到了大约60000个请求/分钟——这还可以,我也预料到了。 CloudWatch的结果:

手动部署的相同应用程序:

它确保了我的测试是正常的,ELB不是问题

所以,我的问题是: 1.Elastic Beanstalk是否对ELB或其他服务应用任何其他限制,以限制请求/分钟负载? 2.我是否需要通过Beanstalk“解锁”处理更多请求的能力


我的同事建议它看起来像是一些“反DDOS系统”,但我找不到任何与之相关的东西。< P/> < P>弹性豆茎不节制请求,但在测试中有一些因素需要考虑:

  • ELBs根据感知流量,通过DNS循环按需扩展。这种扩展可能需要一些时间,您可以通过查询CNAME(使用nslookup、dig等)来查看ELB后面有多少平衡器。您还可以请求AWS支持人员对负载平衡器进行预热
  • 网络吞吐量取决于实例类型
  • AWS进行DDoS和其他安全监控,压力测试可能被阻止,甚至导致帐户阻塞。在运行安全敏感测试之前,应与AWS协调:

查看这篇最佳实践文章,了解有关弹性负载平衡器的更深入信息:

要补充Julio的答案,您可能需要尝试在ELB上启用跨区域负载平衡