Appearance
性能调优与压力测试
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 -pHAProxy 全局配置
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,000 | 20,000 | 50,000+ |
| QPS | 5,000 | 30,000 | 100,000+ |
| 延迟 (P99) | <50ms | <20ms | <5ms |
常见性能问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 大量 503 | 后端过载 | 增加后端,调低 maxconn |
| 延迟增加 | 连接耗尽 | 增大 maxconn,优化 http-reuse |
| CPU 100% | 正则过多 | 简化 ACL |