为什么添加额外的 Web 服务器并不能提高吞吐量?

为什么添加额外的 Web 服务器并不能提高吞吐量?

我有一个带有专用 CPU 的负载均衡器,可将流量分配到两个共享 CPU 的 linode。我正在测试一个模板网站,其中包含 9 张延迟加载的图片,没有数据库查询,该网站已优化为在 pagespeed 上获得 100 分,在 gtmetrix 上获得 A 分,加载时间不到 1 秒。

在使用共享 CPU 测试网站时,使用 nginx,其性能符合预期,无论有无 ssl,速度都在 1k rps 左右。

但是,在专用 CPU 上测试负载均衡器时,使用 nginx 时,其性能表现异常,使用 SSL 时约为 200 rps,不使用 SSL 时约为 500 rps。使用 haproxy 时,性能下降了一半,情况变得更加奇怪。

我尝试在 nginx 和 haproxy 中使用 tcp 和 http 模式,但性能相同。添加额外的 Web 服务器似乎也无法提高吞吐量...

有人能帮我理解这种行为吗?并且希望提供解决该问题的指导?

ab、wrk、traceroute、mtr、free、vmstat、htop: https://gist.github.com/david-littlefield/9c63db85ec77aa265f6c59408af004ed

nginx http配置: https://gist.github.com/david-littlefield/bc62610d50b162b474c3f2fdcf3f8b06

nginx tcp配置: https://gist.github.com/david-littlefield/b4aa97d8c872361d26cd0ca8de85a58c

haproxy http配置: https://gist.github.com/david-littlefield/cbed0867d0be4db71ac4c3d0861549b2

haproxy tcp配置: https://gist.github.com/david-littlefield/bafde91305c46fd117f94434de75c881

相关内容