Hello everyone,
We recently hit that “no free port” limitation:
Connect() failed for backend backend_mysql_master: no free ports
And worked around it by using the following on a one server backend:
server mysql-main-04-vip1 xxx:3306 check source xx.xx.xx.170:32768-65535 weight 100
- server mysql-main-04-vip2 xxxx:3306 check source xx.xx.xx.171:32768-65535 weight 100*
- server mysql-main-04-vip3 xxxx:3306 check source xx.xx.xx.172:32768-65535 weight 100*
- server mysql-main-04-vip4 xxxx:3306 check source xx.xx.xx.173:32768-65535 weight 100*
But when activating also nbproc & nbthread option giving more resources to the Haproxy 1.8.19 instance, we started having these issues again. We’ve found this thread talking about the incidence of nbproc : Problem: Connect() failed for backend: no free ports.
It talks also about static source port so two questions:
-
Can we use nbproc without static port since we ave a > 4.2 Kernel, like this conf for instance
server mysql-main-04-vip1 xxx:3306 check source xx.xx.xx.170 weight 100
server mysql-main-04-vip2 xxxx:3306 check source xx.xx.xx.171 weight 100
server mysql-main-04-vip3 xxxx:3306 check source xx.xx.xx.172 weight 100
server mysql-main-04-vip4 xxxx:3306 check source xx.xx.xx.173 weight 100 -
Or it just don’t matter as we only have 1 proc but multithreads and the issue doesn’t affect when having only multiple threads?
nbproc 1
nbthread 3
cpu-map auto:1/1-3 0-2
Thanks for your help
Have a good day everyone.
Kin
1 post - 1 participant