Quantcast
Channel: Serverphorums.com - HAProxy
Viewing all articles
Browse latest Browse all 5112

1.8-RC1 100% cpu usage (4 replies)

$
0
0
Hi.

I've tried 1.8-RC1 and in my case it ate 100% CPU and didn't work. I found
out that this is caused by option httpchk. When I commented this line
everything became fine. Some details:

root# haproxy -vv

HA-Proxy version 1.8-rc1-901f75c 2017/10/31
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>

Build options :
TARGET = linux2628
CPU = native
CC = gcc
CFLAGS = -O2 -march=native -g -fno-strict-aliasing
-Wdeclaration-after-statement -fwrapv -Wno-unused-label
OPTIONS = USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 USE_LIBCRYPT=1
USE_OPENSSL=1

Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200

Built with OpenSSL version : OpenSSL 1.0.2g 1 Mar 2016
Running on OpenSSL version : OpenSSL 1.0.2g 1 Mar 2016
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT
IP_FREEBIND
Built with network namespace support.
Built without compression support (neither USE_ZLIB nor USE_SLZ are set).
Compression algorithms supported : identity("identity")
Encrypted password support via crypt(3): yes
Built without PCRE or PCRE2 support (using libc's regex instead)

Available polling systems :
epoll : pref=300, test result OK
poll : pref=200, test result OK
select : pref=150, test result OK
Total: 3 (3 usable), will use epoll.

Available filters :
[SPOE] spoe
[COMP] compression
[TRACE] trace

root# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial


root# uname -a
Linux f2 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:59:54 UTC 2017
x86_64 x86_64 x86_64 GNU/Linux

root# cat ./haproxy.cfg
global
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
mode http
frontend in
bind *:80
backend www
mode http
option httpchk GET /api/check HTTP/1.0\r\nHost:\ www.ru
server www 10.3.1.14:80 check inter 1s

strace:

chroot("/var/lib/haproxy") = 0
chdir("/") = 0
getgroups(0, NULL) = 1
setgroups(0, []) = 0
setgid(122) = 0
setuid(115) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=4012, rlim_max=4012}) = 0
pipe([5, 6]) = 0
fcntl(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
epoll_ctl(3, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLRDHUP, {u32=4, u64=4}}) = 0
epoll_wait(3, [], 200, 0) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 7
fcntl(7, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0
connect(7, {sa_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("10.3.1.14")}, 16) = -1 EINPROGRESS (Operation now in
progress)
epoll_wait(3, [], 200, 0) = 0
recvfrom(7, 0x1fc8f34, 16384, 0, NULL, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
connect(7, {sa_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("10.3.1.14")}, 16) = 0
epoll_ctl(3, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLRDHUP, {u32=7, u64=7}}) = 0
epoll_wait(3, [], 200, 1000) = 0
epoll_wait(3, [], 200, 0) = 0
getsockopt(7, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
^C--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
strace: Process 20581 detached

gdb:
(gdb) bt
#0 0x000000000046ada1 in pl_cpu_relax () at include/import/atomic-ops.h:25
#1 chk_report_conn_err (check=check@entry=0x13bb7d8,
errno_bck=errno_bck@entry=0, expired=1) at src/checks.c:656
#2 0x000000000046ec87 in process_chk_conn (t=0x13b3870) at
src/checks.c:2196
#3 process_chk (t=0x13b3870) at src/checks.c:2259
#4 0x00000000004d5336 in process_runnable_tasks () at src/task.c:261
#5 0x00000000004a332f in run_poll_loop () at src/haproxy.c:2261
#6 run_thread_poll_loop (data=data@entry=0x13b3ab0) at src/haproxy.c:2310
#7 0x000000000040ab19 in main (argc=<optimized out>, argv=0x7ffe3282f1d8)
at src/haproxy.c:2835

Viewing all articles
Browse latest Browse all 5112

Trending Articles