首页 文章

在对AWS ELB进行基准测试时获得了大量504错误,而不是EC2

提问于
浏览
0

首先,抱歉英语不好,我不是本地人 .

我对AWS很新,但不是网络开发,我正在尝试为我的一个网站配置一个 Cloud 解决方案,这个解决方案可以在不久的将来获得大量流量 .

感谢堆栈溢出和AWS文档,我成功配置了我的实例,自动调整组等,但是当用siege测试它时,我遇到了一个奇怪的问题:

  • 直接使用弹性ips对EC2实例进行基准测试可以完美地实现100%可用性,一切都很好
    ELB上的
  • 基准测试效果不佳,90%的可用性都归因于504错误,但大部分请求都在不到2秒的时间内得到解答

自动标记组中只有一个归因于ELB的实例,它是具有弹性ips的实例 .

所以,我在互联网上查看了很多人遇到的问题与我相同,但没有答案 . 我尝试了所有我发现的东西,包括:

  • 检查ELB healthCheck是否正常工作

  • 试图启用ELB粘性

  • 在EC2中增加KeepAlive

  • 重新创建ELB

我现在已经解决了这个问题3个小时了,所以我尝试了其他的东西,但是不记得了 . 有人有想法吗?一个亚马逊人可以调查并找到解决方案吗?因为我付出比以前的主机更多的唯一原因是有一个好的负载均衡器 .

我在m3.medium实例上使用php7-fpm运行apache 2.4

额外:此外,我不知道为什么,但似乎我的服务器在达到我为新实例启动定义的80%cpu利用率之前减速 . 例如,如果我启动1000个并发用户10分钟,则加载页面最多需要20-30秒,但CPU使用率不会超过50% .

最后的信息让我觉得我遇到了ELB缩放延迟的问题,因为我推出了1000个连接器,你怎么看?

提前致谢 ! ;)

1 回答

  • 0

    所以,对于同样情况下的人而言,我偶然发现了一个对我的服务器进行优化的解决方案:

    在apache日志中,我发现我收到了很多"server reached MaxRequestWorkers setting"错误 . 我用Google搜索并发现了一些优化技巧,说我应该使用mpm_worker(我使用mpm_event)进行并发连接所以,我启用了mpm worker而不是mpm_event:https://askubuntu.com/questions/524770/apache-enable-worker-mpm我使用了这些参数:http://oxpedia.org/wiki/index.php?title=Tune_apache2_for_more_concurrent_connections我还增加了keepAlive和KeepAliveMaxConnect,以防万一

    现在,它工作得非常好,我的网站处理1000并发连接,响应时间为2s-10s,现在我可以尝试减少它 .

    希望它会帮助别人:)

相关问题