Hi,

I just upgraded HAproxy from 1.7.11 to 2.0.1.

After the upgrade with the same configuration as in 1.7 CPU went from
35-40% idle for core 2-3 to ~0% using a setup like this:
  #   (P#0) - process 1 - NIC/IRQ
  #   (P#1) - process 2 - NIC/IRQ
  #   (P#2) - process 3 - HAP
  #   (P#3) - process 4 - HAP

i.e.
  nbproc 4
  cpu-map 1 0
  cpu-map 2 1
  cpu-map 3 2
  cpu-map 4 3
and having all the bind lines like this:
  bind *:80 process 3
  bind *:80 process 4
(yes, I know having 4 processes instead of 2 unnecessary, but this is
because it was easier to do via Chef)

So then I tried tweaking the configuration.
  nbproc 2
  nbthread 1
with cpu-map like:
  cpu-map auto:1-2 2-3
or like this:
  cpu-map 1 2
  cpu-map 2 3
and having all the bind lines like this:
  bind *:80 process 1
  bind *:80 process 2

Still CPU idle at ~0% for core 2 and 3.

I also tried multithreaded mode.
  nbproc 1
  nbthread 2
with cpu-map:
  cpu-map auto:1/1-2 2-3
and also:
  cpu-map 1/1 2
  cpu-map 1/2 3
and in multithreaded mode bind lines like this:
bind *:80

CPU idle at ~0%

Is haproxy 2.x less efficient than 1.7 when it comes to performance or am I
doing something wrong?
Hopefully I'm doing something wrong.
Any advice?

/Elias

Reply via email to