Skip to content

性能调优与压力测试

HAProxy 性能调优涉及系统参数、进程配置和后端优化多个层面。

系统级优化

文件描述符限制

bash
# /etc/security/limits.conf
haproxy soft nofile 100000
haproxy hard nofile 100000

内核参数

bash
# /etc/sysctl.conf
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
sysctl -p

HAProxy 全局配置

haproxy
global
    maxconn 50000
    maxspread-checks 5000
    maxconnrate 5000
    stats socket /run/haproxy-admin.sock mode 660 level admin

压力测试工具

ab (Apache Bench)

bash
ab -n 100000 -c 1000 -k https://example.com/

wrk

bash
wrk -t 8 -c 500 -d 30s https://example.com/

性能基准参考

指标入门级中级高级
并发连接5,00020,00050,000+
QPS5,00030,000100,000+
延迟 (P99)<50ms<20ms<5ms

常见性能问题

问题原因解决方案
大量 503后端过载增加后端,调低 maxconn
延迟增加连接耗尽增大 maxconn,优化 http-reuse
CPU 100%正则过多简化 ACL