RFR: 8294610: java/net/vthread/HttpALot.java is slow on Linux [v2]
Alan Bateman
alanb at openjdk.org
Fri Sep 30 10:12:45 UTC 2022
On Fri, 30 Sep 2022 09:57:32 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Can I please get a review for this test-only change which proposes to improve the test run duration of `java/net/vthread/HttpALot.java` test, on Linux? This relates to https://bugs.openjdk.org/browse/JDK-8294610
>>
>> Experiments have shown that on Linux, due to delayed TCP ACKs from the client (for some previous sent data/packet), the server sent response waits for the ACKs before sending the response data (in a TCP packet). Each delayed ACK is 40 milli seconds and given the number of requests this test (intentionally) issues, the delay accumulates causing the test to take longer duration.
>>
>> With the change in this PR, the test completes in around 6 to 8 seconds on a Linux system as compared to 60 odd seconds previously on the same setup. This change hasn't shown any negative impact on macos (which continues to run this test in around 5 to 6 seconds like previously). I will trigger some runs in our CI setup to make sure this works as expected in all other OS too.
>>
>> As noted in the linked JBS issue, additional experiments to see if anything can be improved in the JDK network layer will be carried out separately, outside the context of this test.
>
> Jaikiran Pai has updated the pull request incrementally with one additional commit since the last revision:
>
> update test comment to address review comments
Marked as reviewed by alanb (Reviewer).
test/jdk/java/net/vthread/HttpALot.java line 34:
> 32: * @comment This test runs with -Dsun.net.httpserver.nodelay=true
> 33: * to enable TCP_NODELAY on the sockets "accept()"ed by the HttpServer. This is
> 34: * to avoid occasional 40ms delays receiving responses from the server on Linux.
Thanks for the update the bug tag and improving the comment. Just a minor nit is that you might want to re-flow it to avoid 1 short line and two longer lines. Ignore if you want.
-------------
PR: https://git.openjdk.org/jdk/pull/10504
More information about the net-dev
mailing list