Затопление 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
состояние, так что они уже закрыты и ожидают очистки ОС. Они не о чем беспокоиться.