У меня есть 2 сервера apache2, запущенных в задней части, и между ними и клиентами есть haproxy. Если я тестирую любой из этих серверов apache2 с ab, я получаю к северу от 1500TPS, однако, когда я тестирую HAproxy, я получаю меньше этого значения. Что не имеет смысла.
Я использую простой алгоритм циклического перебора для балансировки, и мой maxconn установлен на 8000 для хорошей меры.
Я ожидал, что число транзакций в секунду приближается к совокупным транзакциям в секунду каждого узла apache2 (2800 транзакций в секунду). Вместо этого я получил значение меньше любого из двух узлов apache2. Что может быть причиной?
Стендовый тест, который я сделал
ab -t 60 -c 400 haproxyIP:1234
HEre - очень стандартная конфигурация HAproxy, но она должна выполнять то, что мне нужно.
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
maxconn 8000
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
retries 3
maxconn 8000
contimeout 5000
clitimeout 50000
srvtimeout 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen public :1234
stats enable
stats auth username:userpassword
balance leastconn
server web-1 127.0.0.1:xxxx check
server web-2 xx.xx.xx.xx:xxxx check