Я стресс-тестирую ejabberd с Tsung. Мои экземпляры EC2 настроены следующим образом:
Когда я позволяю Tsung напрямую разговаривать с экземпляром ejabberd, я легко получаю запланированные соединения 35K + в течение 5 минут. Когда я перекидываю HAProxy между ними двумя, я получаю ~ 10K макс соединений. Нет журналов ошибок HAProxy, ЦП работает 9%, Mem составляет 18% использования экземпляра HAProxy. Ulimit установлен правильно на экземпляре. Возможно, здесь что-то явно не хватает? Любые советы приветствуются.
Моя конфигурация HAProxy выглядит следующим образом:
global
log 127.0.0.1 local1 notice
log 127.0.0.1 local0 notice
maxconn 512000
user haproxy
group haproxy
defaults
log global
mode tcp
option tcplog
option dontlognull
retries 3
option redispatch
#timeout connect 5000
#timeout client 10000
#timeout server 10000
timeout connect 5s
timeout client 24h
timeout server 24h
listen stats :80
mode http
stats enable
stats uri /haproxy?stats
stats realm Strictly\ Private
stats auth xx:xx
listen ejabberd_proxy :5222
maxconn 512000
mode tcp
retries 2
option redispatch
option tcplog
option tcpka
option clitcpka
option srvtcpka
balance leastconn
server ejabberd1 ip_1:5222 check fall 10
server ejabberd2 ip_2:5222 check fall 10
Попробуйте увеличить размер экземпляра для вашего узла haproxy. экземпляры t1.micro имеют какой ужас производительность сети и ввода-вывода, и я бы не удивился, если бы это было причиной проблемы.