Suppose you do simple thing:
public class Main {
public static void main(String[] args) {
long started = System.currentTimeMillis();
try {
new URL(args[0]).openConnection();
} catch (Exception ignore) {
}
System.out.println(System.currentTimeMillis() - started);
}
}
Now run it with http://localhost as args[0]
It takes ~100 msec
to complete.
Now try https://localhost
It takes 5000+ msec
.
Now run the same thing on linux or in docker:
- http:
~100 msec
- https:
~350 msec
Why is this? Why such a huge difference between platforms? What can you do about it?
For long-running application servers and applications with their own long and heavy initialization sequence, these 5 seconds may not matter.
However, there are plenty of applications where this initial 5sec "hang" matters and may become frustrating...
Aucun commentaire:
Enregistrer un commentaire