В кластере 4 узла эластичного поиска, и эти 4 узла настроены за haproxy. Каждый узел в кластере принимает от 900 до 1000 TCP-соединений, но у одного из узлов очень мало - около 400 соединений. Ниже приведена конфигурация узла ES в файле haproxy.cfg.
listen es-cluster
bind *:9200
mode tcp
option tcpka
option tcplog
balance leastconn
#balance roundrobin
timeout client 30m
timeout server 30m
server host1 xxx.xxx.xxx.xxx:9200 check weight 100
server host2 aaa.aaa.aaa.aaa:9200 check weight 65
server host3 bbb.bbb.bbb.bbb:9200 check weight 150
server host4 ccc.ccc.ccc.ccc:9200 check weight 100
server host5 ddd.ddd.ddd.ddd:9200 check weight 100
host3
имеет очень мало TCP-соединений. Я использовал roundrobin
в начале. Из-за большего количества подключений на одном из узлов я изменил конфигурацию на leastconn
с грузами и увеличил вес узла host3
. Тем не менее, количество TCP-соединений на узле host3 очень мало. Какие дальнейшие изменения можно внести, чтобы у всех узлов было одинаковое количество подключений