There is no guarantee that connections will be evenly distributed between IO threads. Once a client has connected the connection is tied to that IO thread, so it may be that you are just ending up with 2 connections on 4 threads.

Stuart




On Wed, Jul 25, 2018 at 10:02 AM R. Matt Barnett <barnett@rice.edu> 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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev