我正在尝试设置一个负载平衡的 Web 服务器方案,使用两个 HAproxy 负载平衡器和两个 Debian Web 服务器,遵循本指南http://www.howtoforge.com/setting-up-a-high-availability-load-balancer-with-haproxy-keepalived-on-debian-lenny。
设置正常,但简单的性能基准测试结果并不如我所料。我尝试使用 apache 基准测试工具向服务器发送大量请求(一次直接测试其中一个 Web 服务器,另一次通过负载平衡器测试),使用命令“ab -n 1000000 -c 500http://IP/index.html“,但测试结果显示,没有负载均衡器的单个服务器的性能更好。有人能告诉我我是否在某些事情上做错了吗?
答案1
我的理解是,haproxy 是一个负载均衡器,其优点是扩展和冗余,而不是性能。
要测试负载均衡器的效果,您应该首先测试较快的服务器,增加负载,直到找到负载崩溃的点。然后从该点开始测试 HAProxy,您应该能够处理大约两倍的连接数量。
为了提高速度,您需要一个缓存反向代理,例如 nginx、varnish 或 squid。
答案2
换句话说,在测试期间拔掉主网络服务器的电源。我认为您会发现,即使拔掉同一台服务器的电源,haproxy 对现在也能返回更好的总体数字。