我的Dotnet应用程序在使用AWS Elastic Beanstalk部署时抛出超时错误



我设置了如下AWS自动缩放:

  1. 创建了一个负载均衡器并向其注册了一个实例
  2. 向ELB添加健康检查
  3. 增加了2个报警:CPU使用情况->60秒60%,旋转1个实例;CPU使用<120秒40%,降速1个实例
  4. 编写了一个jMeter脚本来向网站发送流量:尝试了不同数量的线程以及提升时间

我看到的很奇怪。

我预计CPU使用率会随着用户数量的增加而激增。但是当我用任意数量的线程开始Jmeter测试时,服务器开始抛出";一旦并发用户数超过1000,就会出现"网关超时错误"。

我试过了:

  • 增加空闲时间并保持活力,没有任何效果

当网站实际上超时时,我无法理解为什么CPU使用率如此之低。

想法?

我将SSH连接到您的应用程序ec2实例中,并使用htop(或等效的windows(来查看主机上的哪些服务运行得很高。如果是你的网络服务器,我会特别研究一下你使用的网络服务器的配置,然后从那里开始。

同样只是一个建议:如果这个问题只适用于1000个并发用户以上,你可以看看你是否可以水平扩展而不是垂直扩展。当你看到大量流量时,弹性豆茎中有很多选项可以启动新的实例。以及将一些CPU繁重的任务转移到工作实例;以及发送通知等cronjob任务。

最新更新