Specs:
Haproxy 1.7.2. running on CentOS7, Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz.
Haproxy frontend has ~1200 sessions per second.
My question:
I have haproxy 1.7.2 running on CentOS7 with two hexacore CPUs. haproxy runs with default setting of nbproc=1. Here is output of htop:
How can a single-threaded application utilize more than 100% of CPU? top or atop never show >100% CPU utilization for that process.
Other than that, CPU utilization for haproxy is 0% except some pulses which reach 100%. Here is an excerpt of output of > while :; do top -d1 -n1 -b -p 95949 | grep haproxy ; done where 95949 is haproxy’s pid:
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:48 haproxy
95949 haproxy 20 0 84836 65556 968 R 100.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 S 0.0 0.0 11216:59 haproxy
95949 haproxy 20 0 84836 65556 968 R 0.0 0.0 11216:59 haproxy
What can cause these peaks?