[undertow-dev] Unable to concurrently use all available IO Threads under load on Red Hat

R. Matt Barnett barnett at rice.edu
Wed Jul 25 12:26:49 EDT 2018


Corrected test to resolve test/set race.


https://gist.github.com/rmbarnett-rice/1179c4ad1d3344bb247c8b8daed3e4fa


I've also discovered this morning that I *can* see 1-8 printed on Red 
Hat when I generate load using ab from Windows, but only 1-4 when 
running ab on Red Hat (both locally and from a remote server).  I'm 
wondering if perhaps there is some sort of connection reuse shenanigans 
going on.  My assumption of the use of the -c 8 parameter was "make 8 
sockets" but maybe not.  I'll dig in and report back.


-- Matt


On 7/24/2018 6:56 PM, R. Matt Barnett wrote:
> Hello,
>
> I'm experiencing an Undertow performance issue I fail to understand.  I
> am able to reproduce the issue with the code linked bellow. The problem
> is that on Red Hat (and not Windows) I'm unable to concurrently process
> more than 4 overlapping requests even with 8 configured IO Threads.
> For example, if I run the following program (1 file, 55 lines):
>
> https://gist.github.com/rmbarnett-rice/668db6b4e9f8f8da7093a3659b6ae2b5
>
> ... on Red Hat and then send requests to the server using Apache
> Benchmark...
>
>       > ab -n 1000 -c 8 localhost:8080/
>
> I see the following output from the Undertow process:
>
>       Server started on port 8080
>
>       1
>       2
>       3
>       4
>
> I believe this demonstrates that only 4 requests are ever processed in
> parallel.  I would expect 8.  In fact, when I run the same experiment on
> Windows I see the expected output of
>
>       Server started on port 8080
>       1
>       2
>       3
>       4
>       5
>       6
>       7
>       8
>
> Any thoughts as to what might explain this behavior?
>
> Best,
>
> Matt
>
> _______________________________________________
> undertow-dev mailing list
> undertow-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/undertow-dev



More information about the undertow-dev mailing list