1 背景

国密SSL在实际上线和应用过程中,性能就是一个必须面对的问题。国密SSL和规范SSL相比,算一个新生事物,没有欠缺完备的性能测试工具。本文针对国密SSL性能测试,形容了相干指标,并提供一些根本的办法和工具,也做了nginx/tomcat/硬件网关的测试比照。

2 国密SSL性能指标

国密SSL性能指标次要有三个:新建速率(CPS,Connection per second)、加密吞吐(Throughput)、最大并发连贯(Max Persistent Connections)

其中CPS和吞吐与性能强相干,最大并发连贯和内存大小强相干。

2.1 新建速率CPS

CPS掂量的是国密SSL建设的快慢(次要波及非对称明码解决),新建指的是以下步骤的总和:

1) 客户端与服务器/网关建设TCP;

2) 客户端与服务器/网关建设国密SSL(不应用会话重用);

3) 客户端从服务器/网关下载一个小页面(不应用HTTP的Keep-Alive),页面大小为64字节或者1K字节;

4) 客户端与服务器/网关敞开国密SSL;

5) 客户端与服务器/网关敞开TCP;

2.2 加密吞吐

加密吞吐掂量的是国密SSL对数据加解密的快慢(次要波及对称明码解决),通常测试下载一个较大的页面,比方下载1M字节页面。

2.3 最大并发连贯

最大并发连贯次要看国密SSL服务器/网关可能同时放弃多个在线连贯,通常能够建设好连贯,下载一个小页面,而后做Keep-Alive放弃,一直新减少连贯,直到减少会出错。

3 国密SSL性能剖析

国密SSL,以算法SM2_SM4_SM3为例,次要波及SM2、SM3、SM4的明码解决。其中新建速率与SM2性能强相干,加密吞吐则与SM3/SM4性能强相干。

另外SM2算法有其本身特点。基本上签名的速度>验签的速度,同时SM2加密速度<SM2解密速度;这个特点正好和RSA反过来,RSA是签名速度远小于验签速度,同时RSA公钥加密的速度远远大于私钥解密的速度。

联合到国密SSL协定,则通常呈现一个景象:

1) 单向国密SSL应用SM2算法,客户端比服务器端更耗费性能,因为客户端是SM2加密;

2) 单向规范SSL应用RSA算法,服务器端比客户端更耗费性能,因为客户端是RSA加密;

4 国密SSL性能测试方法

4.1 拓扑

图1 测试拓扑

4.2 硬件测试仪

规范SSL硬件测试仪次要有思博伦的avalanche等,目前不分明是否反对国密SSL协定,或者反对国密SSL插件。国内硬件测试仪状况不详。

4.3 LoadRunner

LoadRunner是软件测试性能的办法之一。好消息是LoadRunner反对第三方插件,通过第三方插件就可能反对国密SSL协定。

4.4 gmab

Apache ab也能够反对规范SSL协定性能测试,但不反对国密。但ab是有源码的,能够自行减少国密SSL协定反对。

www.gmssl.cn提供一个国密ab的实现,软件名称叫gmab。下载参见:

https://www.gmssl.cn/gmssl/in...

4.5 gmkb

后面剖析到,对于国密SSL而言,客户端的性能耗费要大于服务器/网关端的性能耗费,因而应用LoadRunner和gmab的话,须要多台高性能客户端压力机。

www.gmssl.cn提供一个国密SSL性能测试的“黑”科技软件gmkb,可能通过一个客户端压力机就能够简略评估出服务器/网关的国密SSL的CPS性能。下载参见:

https://www.gmssl.cn/gmssl/in...

4.6 gmcb

www.gmssl.cn提供一个国密SSL性能测试加密吞吐的软件gmcb,可能通过一个或者多个客户端压力机测试出服务器/网关的国密SSL的加密吞吐性能。下载参见:

https://www.gmssl.cn/gmssl/in...

5 国密SSL性能测试后果

5.1 Web服务器

通过gmab和gmcb,咱们简略测试了www.gmssl.cn的nginx国密SSL性能和tomcat的国密SSL性能。测试的单向国密SSL的性能,服务器为CentoOS7,CPU为Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz,内存为16G,网卡为intel万兆电口。

Nginx国密版本1.8.0,装置下载参见https://www.gmssl.cn/gmssl/in...

国密Nginx性能如下:

新建:3600

吞吐:693MBps

并发:50w

Tomcat国密版本9.0.37,装置下载参见https://www.gmssl.cn/gmssl/in...

国密Tomcat性能如下:

新建:720

吞吐:240MBps(字节/秒)

并发:8192(内存理论用的很少,tomcat报错,没有持续深刻)

5.2 硬件网关

作为比照,咱们拿到了北京云钥网络科技有限公司(www.keyaas.com)的硬件国密网关KSG2500的性能数据,KSG2500性能给人印象粗浅,毕竟是一款高端业余硬件网关。KGS2500性能:

新建:5w

吞吐:2GBps(字节/秒)

并发:300w

6 国密SSL性能测试小结

本文波及了国密SSL性能的方方面面,并且给出了www.gmssl.cn的国密nginx和国密tomcat的实测性能数据,也比照了硬件网关KSG2500的性能数据。