[8u] RFR 8259886: Improve SSL session cache performance and scalability

He Dongbo(JVM) hedongbo at huawei.com
Tue Apr 6 06:38:32 UTC 2021


Oh..sorry, my thunderbird doesn’t seem to be configured properly, causing the format of the web page to be messed up. It should work now.
JMH uses the microbenchmark in the 11u patch. In general, the CacheBench.put averageTime of JMH increased by 99% (timeout=86400), and the tomcat TPS increased by 33%. Any thoughts?

Original Bug:
    https://bugs.openjdk.java.net/browse/JDK-8259886
    https://hg.openjdk.java.net/jdk-updates/jdk11u-dev/rev/82a5dca5c57c

Patch does not apply to 8u cleanly, because we need to remove the microbenchmark that
doesn't exist in 8u.
8u webrev: http://cr.openjdk.java.net/~dongbohe/8259886/webrev.01/

The following is the performance data on my machine.
JMH(mode=AverageTime):
  Benchmark           (size)   (timeout) Mode  Cnt          Score          Error  Units
  CacheBench.put       20480      86400  avgt   25     125214.877 ±      771.891  ns/op
  CacheBench.put       20480          0  avgt   25        130.827 ±        4.886  ns/op
  CacheBench.put      204800      86400  avgt   25    1421192.003 ±    10492.641  ns/op
  CacheBench.put      204800          0  avgt   25        205.607 ±        9.081  ns/op
  CacheBench.put     5120000      86400  avgt   25  426789424.874 ± 56051669.301  ns/op
  CacheBench.put     5120000          0  avgt   25       1694.398 ±      178.005  ns/op
after patch:
  Benchmark           (size)   (timeout) Mode  Cnt     Score     Error  Units
  CacheBench.put       20480      86400  avgt   25   194.639 ±   3.222  ns/op
  CacheBench.put       20480          0  avgt   25   135.425 ±   4.609  ns/op
  CacheBench.put      204800      86400  avgt   25   281.704 ±  10.688  ns/op
  CacheBench.put      204800          0  avgt   25   220.617 ±  10.616  ns/op
  CacheBench.put     5120000      86400  avgt   25  1803.882 ± 220.730  ns/op
  CacheBench.put     5120000          0  avgt   25  1748.993 ± 245.926  ns/op

tomcat+jmeter:
  summary + 431008 in 00:00:06 = 71846.6/s Avg:    12 Min:     0 Max:   500 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 72392845 in 00:16:54 = 71365.9/s Avg:    12 Min:     0 Max:  1155 Err:     0 (0.00%)
  summary + 415424 in 00:00:06 = 69237.3/s Avg:    12 Min:     0 Max:   499 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 72808269 in 00:17:00 = 71353.4/s Avg:    12 Min:     0 Max:  1155 Err:     0 (0.00%)
  summary + 422887 in 00:00:06 = 70481.2/s Avg:    12 Min:     0 Max:   619 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 73231156 in 00:17:06 = 71348.3/s Avg:    12 Min:     0 Max:  1155 Err:     0 (0.00%)
  summary + 415679 in 00:00:06 = 69279.8/s Avg:    13 Min:     0 Max:   517 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 73646835 in 00:17:12 = 71336.3/s Avg:    12 Min:     0 Max:  1155 Err:     0 (0.00%)
  summary + 397989 in 00:00:06 = 66276.3/s Avg:    14 Min:     0 Max:   507 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
after patch:
  summary + 671589 in 00:00:06 = 111931.5/s Avg:     2 Min:     0 Max:   132 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 101709661 in 00:16:43 = 101436.1/s Avg:     2 Min:     0 Max:  1378 Err:     0 (0.00%)
  summary + 618923 in 00:00:06 = 102965.1/s Avg:     1 Min:     0 Max:   127 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 102328584 in 00:16:49 = 101445.1/s Avg:     2 Min:     0 Max:  1378 Err:     0 (0.00%)
  summary + 624735 in 00:00:06 = 104331.2/s Avg:     1 Min:     0 Max:   200 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 102953319 in 00:16:55 = 101462.1/s Avg:     2 Min:     0 Max:  1378 Err:     0 (0.00%)
  summary + 576132 in 00:00:06 = 95766.6/s Avg:     1 Min:     0 Max:   154 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
  summary = 103529451 in 00:17:01 = 101428.6/s Avg:     2 Min:     0 Max:  1378 Err:     0 (0.00%)
  summary + 529216 in 00:00:06 = 88438.5/s Avg:     1 Min:     0 Max:   128 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0

Testing: Linux x86_64 tier1.

On 4/3/2021 9:52 AM, He Dongbo(JVM) wrote:
> /Hi, //////Original Bug:   https://bugs.openjdk.java.net/browse/JDK-8259886 <https://bugs.openjdk.java.net/browse/JDK-8259886> / ////https://hg.openjdk.java.net/jdk-updates/jdk11u-dev/rev/82a5dca5c57c <https://hg.openjdk.java.net/jdk-updates/jdk11u-dev/rev/82a5dca5c57c> ///Patch does not apply to 8u cleanly, because we need to remove the //microbenchmark that//doesn't exist in 8u./////8u webrev: /http://cr.openjdk.java.net/~dongbohe/8259886/webrev.01/ <http://cr.openjdk.java.net/~dongbohe/8259886/webrev.01/> The following is the performance data on my machine. JMH: CacheBench.put 20480 86400 avgt 25 125214.877 ± 771.891 ns/op CacheBench.put 20480 0 avgt 25 130.827 ± 4.886 ns/op CacheBench.put 204800 86400 avgt 25 1421192.003 ± 10492.641 ns/op CacheBench.put 204800 0 avgt 25 205.607 ± 9.081 ns/op CacheBench.put 5120000 86400 avgt 25 426789424.874 ± 56051669.301 ns/op CacheBench.put 5120000 0 avgt 25 1694.398 ± 178.005 ns/op after patch: CacheBench.put 20480 0 avgt 25 135.425 ± 4.609 ns/op CacheBench.put 204800 86400 avgt 25 281.704 ± 10.688 ns/op CacheBench.put 204800 0 avgt 25 220.617 ± 10.616 ns/op CacheBench.put 5120000 86400 avgt 25 1803.882 ± 220.730 ns/op CacheBench.put 5120000 0 avgt 25 1748.993 ± 245.926 ns/op tomcat+jmeter:/
> //summary + 431008 in 00:00:06 = 71846.6/s Avg: 12 Min: 0 Max: 500 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 72392845 in 00:16:54 = 71365.9/s Avg: 12 Min: 0 Max: 1155 Err: 0 (0.00%) summary + 415424 in 00:00:06 = 69237.3/s Avg: 12 Min: 0 Max: 499 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 72808269 in 00:17:00 = 71353.4/s Avg: 12 Min: 0 Max: 1155 Err: 0 (0.00%) summary + 422887 in 00:00:06 = 70481.2/s Avg: 12 Min: 0 Max: 619 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 73231156 in 00:17:06 = 71348.3/s Avg: 12 Min: 0 Max: 1155 Err: 0 (0.00%) summary + 415679 in 00:00:06 = 69279.8/s Avg: 13 Min: 0 Max: 517 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 73646835 in 00:17:12 = 71336.3/s Avg: 12 Min: 0 Max: 1155 Err: 0 (0.00%) summary + 397989 in 00:00:06 = 66276.3/s Avg: 14 Min: 0 Max: 507 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0/ after patch:///summary + 671589 in 00:00:06 = 111931.5/s Avg: 2 Min: 0 Max: 132 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 101709661 in 00:16:43 = 101436.1/s Avg: 2 Min: 0 Max: 1378 Err: 0 (0.00%) summary + 618923 in 00:00:06 = 102965.1/s Avg: 1 Min: 0 Max: 127 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 102328584 in 00:16:49 = 101445.1/s Avg: 2 Min: 0 Max: 1378 Err: 0 (0.00%) summary + 624735 in 00:00:06 = 104331.2/s Avg: 1 Min: 0 Max: 200 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 102953319 in 00:16:55 = 101462.1/s Avg: 2 Min: 0 Max: 1378 Err: 0 (0.00%) summary + 576132 in 00:00:06 = 95766.6/s Avg: 1 Min: 0 Max: 154 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0 summary = 103529451 in 00:17:01 = 101428.6/s Avg: 2 Min: 0 Max: 1378 Err: 0 (0.00%) summary + 529216 in 00:00:06 = 88438.5/s Avg: 1 Min: 0 Max: 128 Err: 0 (0.00%) Active: 1000 Started: 1000 Finished: 0/ //////Testing: Linux x86_64 tier1. /
> -- 
> thanks,
> hedongbo

-- 
thanks,
hedongbo



More information about the jdk8u-dev mailing list