Назад | Перейти на главную страницу

Флуд-соединения MySQL с HAProxy

У меня есть установка из 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 одновременно, и не с таким количеством одновременных соединений. Пожалуйста, дайте мне знать, что мне нужно искать, чтобы настроить это, или просто согласитесь, что это нормальное поведение для настройки высокой доступности.

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

Ubuntu 12.04 8 ГБ ОЗУ 4 виртуальных ЦП (каждый узел работает в VMware)

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

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

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