AWS 弹性负载均衡器基本问题

Chr*_*s J 2 amazon-ec2 amazon-web-services amazon-elb

我在负载均衡器后面有一组 EC2 t1.micro 实例,每个节点在开始变得不稳定之前可以管理大约 100 个并发用户。

我想如果我有 2 个这样的实例,它将允许我的网络管理 200 个并发用户......显然不是。当我真的用 275 个并发来猛击服务器 (blitz.io) 时,它的行为就像只有一个节点一样。它从 400 毫秒响应时间变为 1.6 秒(对于单个 t1.micro 是预期的,但不是 6)。

所以问题是,我只是没有做正确的事情还是 ELB 实际上毫无价值?有人对此有什么智慧吗?

AB 日志:
负载均衡器(3x m1.medium)
文件路径:/ping/index.html
文件长度:185 字节

并发级别:100
测试时间:11.668 秒
完整请求:50000
失败的请求:0
写入错误:0
非 2xx 响应:50001
传输总数:19850397 字节
传输的 HTML:9250185 字节
每秒请求数:4285.10 [#/sec](平均值)
每个请求的时间:23.337 [ms](平均值)
每个请求的时间:0.233 [ms](平均,跨所有并发请求)
传输速率:1661.35 [Kbytes/sec] 接收

连接时间(毫秒)
              最小平均值[+/-sd] 中值最大值
连接:1 2 4.3 2 63
处理:2 21 15.1 19 302
等待:2 21 15.0 19 261
总计:3 23 15.7 21 304

单实例(1x m1.medium 直连)

文件路径:/ping/index.html
文件长度:185 字节

并发级别:100
测试时间:9.597 秒
完整请求:50000
失败的请求:0
写入错误:0
非 2xx 响应:50001
传输总数:19850397 字节
传输的 HTML:9250185 字节
每秒请求数:5210.19 [#/sec](平均值)
每个请求的时间:19.193 [ms](平均值)
每个请求的时间:0.192 [ms](平均,跨所有并发请求)
传输速率:2020.01 [Kbytes/sec] 接收

连接时间(毫秒)
              最小平均值[+/-sd] 中值最大值
连接:1 9 128.9 3 3010
处理:1 10 8.7 9 141
等待:1 9 8.7 8 140
总计:2 19 129.0 12 3020

cee*_*yoz 6

微型实例不是为持续负载而设计的。它们允许 CPU 爆发,但在短时间内(想想 15-30 秒)在高负载下它们将受到严重限制。

至少,如果您想要任何有用的基准测试,请尝试使用一个小实例。

  • 问题是负载平衡器需要时间来扩展。并非每个负载均衡器都是平等的。如果您在 0 秒内从 0 到 250 个请求/秒,那么负载均衡器将不会被配置为处理该负载。负载均衡器通常需要 5-10 分钟才能完成升级。然而,就像 ceejayoz 所说的,微实例太可怕了,你不会对微实例进行很远的压力测试。我可以使用 1 个负载均衡器轻松处理每秒 3000 多个请求,无需任何特殊配置。 (4认同)