Le 10/04/2019 à 08:44, Kevin Zhu a écrit :
---------- Forwarded message ---------
From: *Kevin Zhu* <[email protected] <mailto:[email protected]>>
Date: Wed, 10 Apr 2019 at 14:25
Subject: Re: haproxy1.9, SPOA: too many open files
To: Christopher Faulet <[email protected] <mailto:[email protected]>>
Thinks reply.
OS: CentOS Linux release 7.4
HW: platform: KVM; CPU: Intel Xeon E3-12xx v2 (Ivy Bridge) * 1; mem:
2048M
HAProxy Make: make TARGET=linxu2628 USE_THREAD=1
SPOA: 1:cd contrib/spoa_example ;
2: set async and pipelining and fragmentation = true in
souces file spoa.c
3: make
4:./spoa
Benchmark: see abtest.sh
Configurations files: is attached in this mail
I'm testing results(result value l is approximately):
HAProxy-1.8.16:
multi procs single thread:
CPU: HAProxy: 10% * 8; spoa: 4% - 7%
TCP HAProxy and spoa(netstat -anpt | grep 12345 | grep
EST | wc -l): 150 - 400
Time taken for tests: 67 seconds
multi threads single thread:
CPU: HAProxy: 85% - 90%; spoa: 3% - 5%
TCP HAProxy and spoa(netstat -anpt | grep 12345 | grep
EST | wc -l): 100 - 200
Time taken for tests: 53 seconds
HAProxy-1.9.6:
multi procs single thread:
CPU: HAProxy: 9% * 8; spoa: 24% - 27%
TCP HAProxy and spoa(netstat -anpt | grep 12345 | grep
EST | wc -l):8050
Time taken for tests: 99 seconds
multi threads single thread:
CPU: HAProxy: 80%; spoa: 9% - 13%
TCP HAProxy and spoa(netstat -anpt | grep 12345 | grep
EST | wc -l): 7500 - 10200
Time taken for tests: 65 seconds
Hi Kevin,
Sorry for the delay, I was pretty busy on other bugs.
So, first of all, I'm surprised. Looking at your test file (abtest.sh),
you send 10k requests with 1000 concurrent connections in ~60 secs or
more. It's not really fast. And the workload remains low. So there is
probably a bottleneck somewhere.
Could you enable the logs on HAProxy, both for the HTTP and the SPOE,
and check if there is something strange. Maybe timeouts or errors. Or a
timer with an high value. If possible, share it. I'm interested to take
an eye on it.
You could also start the spoa in debug mode. It is pretty verbose, but
it can help to find the problem.
Could you also use latest 1.8 and 1.9 snapshots ?
--
Christopher Faulet