Затопление HAProxy MySQL подключений

У меня есть настройка 2 серверов HAProxy, использующих процесс KeepAlived для отработки отказа, и каждый HAProxy настроен на балансировку нагрузки mysql подключений к моему кластеру MariaDB Galera из 3 узлов. Я пытаюсь выполнить нагрузочное тестирование своей среды, и, прежде чем я отправлю трафик на один из моих узлов, я смотрю на netstat -an | grep 3306, и это то, что я вижу на своем первом узле:

ubuntu@mariadb1:~$ netstat -an |grep 3306
tcp    0      0 0.0.0.0:3306           0.0.0.0:*               LISTEN
tcp    0      0 10.60.61.21:3306       10.60.61.19:44563       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44521       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44536       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58622       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58637       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58649       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44533       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44557       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58616       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58628       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58619       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58646       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58625       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58631       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44551       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58652       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44524       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58658       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44545       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58655       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58640       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58634       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44539       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44554       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44527       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58661       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44518       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44548       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44560       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.19:44530       TIME_WAIT
tcp    0      0 10.60.61.21:3306       10.60.61.20:58643       TIME_WAIT

Я хочу знать, почему HAProxy заполняют соединения на 3306, прежде чем я даже сгенерировал какой-либо трафик. Я бы подумал, что первичный HAProxy должен иметь хотя бы одно работающее соединение, чтобы он мог пропускать трафик, но не оба HAProxy одновременно, и не с таким количеством одновременных соединений. Пожалуйста, дайте мне знать, что мне нужно искать, чтобы настроить это, или просто примите, что это нормальное поведение для установки HA.

Вот спецификации на моих машинах mariaDB:

Ubuntu 12.04 8GB RAM 4 vCPU (каждый узел работает в VMware)

Если вам нужен файл /etc/mysql/my.cnf, пожалуйста, дайте мне знать или файл /etc/haproxy/haproxy.cnf. Извините, если мой пост выглядит ужасно отформатированным, не уверен, как сделать так, чтобы все выглядело так красиво и чисто, как остальные, ребята

1 ответ

Решение

Haproxy делает "сердцебиение", чтобы убедиться, что сервис действительно работает. Они могут быть довольно частыми и должны обеспечивать быстрое аварийное переключение.

Все эти соединения находятся в TIME_WAIT состояние, так что они уже закрыты и ожидают очистки ОС. Они не о чем беспокоиться.

Другие вопросы по тегам