私はTsungでejabberdのストレステストを行っています。私のEC2インスタンスは次のように設定されています:
Tsungにejabberdインスタンスと直接通信させると、5分以内に目的の35K以上の接続を簡単に取得できます。 2つの間にHAProxyをスローすると、最大接続数が最大10,000になります。 HAProxyエラーログはありません。CPUは9%実行され、MemはHAProxyインスタンスで18%使用されています。 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インスタンスには恐ろしいネットワークとIOパフォーマンスがあり、それらが問題を引き起こしていても驚かないでしょう。