Eu tenho 2 servidores apache2 em execução no back-end e tenho um haproxy entre eles e os clientes. Se eu testei qualquer um desses servidores apache2 com um número de 1500TPS, no entanto, quando eu testar o HAproxy, recebo menos do que esse valor. O que não faz sentido.
Estou usando o algoritmo round robin simples para o balanceamento e tenho o meu conjunto maxconn em 8000 para uma boa medida.
O que eu esperava era um tps se aproximando dos tps combinados de cada nó do apache2 (2800TPS). Em vez disso, obtive um valor menor que qualquer um dos dois nós apache2. O que poderia ser a causa?
O teste de bancada que fiz
ab -t 60 -c 400 haproxyIP:1234
HEre é a configuração do HAproxy muito padrão, mas deve realizar o que eu preciso.
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