【发布时间】:2016-07-14 12:38:33
【问题描述】:
首先,抱歉英语不好,我不是本地人。
我对 AWS 很陌生,但对 Web 开发并不熟悉,我正在尝试为我的一个网站配置云解决方案,该网站在不久的将来可能会获得大量流量。
感谢堆栈溢出和 AWS 文档,我成功配置了我的实例、自动缩放组等,但是在使用 siege 进行测试时,我遇到了一个奇怪的问题:
- 直接使用弹性 ip 在 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 个并发连接,你怎么看?
提前致谢! ;)
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-elb