RFR: JDK-8255603: Memory/Performance regression after JDK-8210985
Xue-Lei Andrew Fan
xuelei at openjdk.java.net
Fri Oct 30 04:35:45 UTC 2020
On Thu, 29 Oct 2020 15:11:09 GMT, Christoph Langer <clanger at openjdk.org> wrote:
> It seems that there exists a memory/performance regression that was introduced with JDK-8210985: Update the default SSL session cache size to 20480.
>
> The idea to limit the maixmum SSL session cache size by itself is good. Unfortunately, as per the current implementation of sun.security.util.MemoryCache, it also modifies the initial size of the LinkedHashMap that is backing the cache to initialize with more than the maximum size.
>
> I suggest to restore the original behavior that initializes with an initialCapacity of 1 in most cases. That was true when before JDK-8210985, the property javax.net.ssl.sessionCacheSize was not set at all.
> In case it was set, the initial size would have been like now, (javax.net.ssl.sessionCacheSize / 0.75f) + 1, which still seems strange.
I had a benchmarking with one client and one server for full handshaking, with JMH. I did not see throughput regression with this benchmarking, and the improvement is not visible although. The benchmarking itself may be limited as it is trying to use a large volume of connections.
-------------
Marked as reviewed by xuelei (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/937
More information about the security-dev
mailing list