Hmm...I haven't tuned anything (this is just my workstation, not a server).
/proc/sys/net/core/somaxconn 128
/proc/sys/net/ipv4/tcp_max_backlog doesn't exist
/proc/sys/net/ipv4/tcp_max_syn_backlog512
I guess those are pretty low for trying to thrash an echo server...any
recommendations?
On Thursday, 19 November 2015, 16:40, Willy Tarreau <[email protected]> wrote:
Hi,
On Thu, Nov 19, 2015 at 03:37:33AM +0000, Thrawn wrote:
> OK, I've decided to go a bit easier on the stress tools ;), and limited
> concurrency to 500, using siege. That's resulted in some useful data
> (attached).
> HAProxy HTTP endpoint, with 1 process, handled up to 500K total requests
> without breaking a sweat, in just under 30 seconds, achieving an actual
> concurrency of 160-170 (I'm guessing the requests finished too fast to go any
> higher). For some reason, the longest request took almost all that time;
> maybe that's again a limitation of the stress tool? Higher request volumes
> introduced a small percentage of timeouts.
Maybe you're hitting the accept backlog here.
> Increasing to two HAProxy processes made a marked difference. At 500K
> requests, total time halved to approximately 10-15 seconds. At higher
> volumes, timeouts were much rarer; I was able to run 5 tests at 1.5M requests
> each with no timeouts at all. Just for fun, I increased to 750 concurrency
> (2.25M requests), with no trouble (the same test with 1 proc resulted in 57
> timeouts and about 30% longer run time).
That also tends to confirm a backlog issue. What's your sys.net.core.somaxconn
and sys.net.ipv4.tcp_max_backlog ?
> PHP surprised me, actually; its performance characteristics were somewhat
> better than HAProxy with 1 process (though I don't know how the memory usage
> compared). However, compared to HAProxy with two processes, it had a somewhat
> higher error rate and noticeably slower response time.
> Looks like the conclusion is: use HAProxy, but tune nbproc wisely :)
Normally at 500k in 30s (16k/s) you clearly don't need to use nbproc, so
I'm pretty sure that you're hitting some network settings limits and your
system needs to be tuned now.
Willy