-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
None
-
generic
-
generic
A DESCRIPTION OF THE PROBLEM :
I just spent 90 minutes trying to figure out why my own code using the java.net.http client was downloading from my server at so much more inconsistent speeds (and often way slower) than curl, wget etc.
The answer turned out to be that on the path between my machine and the server (laptop at home to Finland) IPv4 is terrible and congested and noisy, whereas IPv6 is native, clean and fast. Best guess: my ISP is using carrier NAT and the NAT boxes are overloaded.
IPv6 marches ever forwards. Web browsers, shell tools and more now all use IPv6 by default. The experience is better, faster, and more reliable, at least where I live. Maybe it's now time for Java to enter the 21st century and do the same?
I just spent 90 minutes trying to figure out why my own code using the java.net.http client was downloading from my server at so much more inconsistent speeds (and often way slower) than curl, wget etc.
The answer turned out to be that on the path between my machine and the server (laptop at home to Finland) IPv4 is terrible and congested and noisy, whereas IPv6 is native, clean and fast. Best guess: my ISP is using carrier NAT and the NAT boxes are overloaded.
IPv6 marches ever forwards. Web browsers, shell tools and more now all use IPv6 by default. The experience is better, faster, and more reliable, at least where I live. Maybe it's now time for Java to enter the 21st century and do the same?