I have tried the same set of testcases using h2load with tomcat 9.0.17 from github releases (https://github.com/apache/tomcat/releases/tag/9.0.17) .
h2load -n 100 -d /tmp/1k https://localhost:8443/ requests: 100 total, 64 started, 63 done, 63 succeeded, 37 failed, 37 errored, 0 timeout h2load -n 200 -d /tmp/512b https://localhost:8443/ requests: 200 total, 128 started, 127 done, 127 succeeded, 73 failed, 73 errored, 0 timeout The issue still occurs in latest version too. On Fri, Mar 8, 2019 at 1:23 AM Rémy Maucherat <r...@apache.org> wrote: > On Thu, Mar 7, 2019 at 5:22 PM Rémy Maucherat <r...@apache.org> wrote: > > > On Thu, Mar 7, 2019 at 2:54 PM Rémy Maucherat <r...@apache.org> wrote: > > > >> On Thu, Mar 7, 2019 at 1:47 PM Mark Thomas <ma...@apache.org> wrote: > >> > >>> On 07/03/2019 07:40, Santhosh Kumar wrote: > >>> > From some of the test cases I can safely say that tomcat is hitting > >>> some > >>> > limits, I have two test cases ran with two diff size of payload and > >>> without > >>> > any queryParams. The servlet is a empty servlet just returns after > >>> > receiving without doing any business side logic > >>> > >>> Can you repeat those tests with the NIO connector? It would be helpful > >>> to know if we should be looking at the HTTP/2 code or the low-level > >>> connector I/O code. > >>> > >> > >> I was planning to investigate since I'm hunting NIO2 additional issues > >> after the fix for BZ63182. This one looks simpler to reproduce at least > >> [assuming there's an issue]. > >> > > > > Ok, so it's a buffer size issue with vectored IO and SSL, the sizes used > > are too optimized. > > > > The "fix" will be in Tomcat 9.0.17, the read buffer used simply needs to be > larger with SSL. Both the JSSE and OpenSSL engines exhibit the same > behavior, so no possible workaround elsewhere. > > Rémy > -- *With Regards,* *Santhosh Kumar J*