添加SM2+AES、SSL的测试内容
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# 客户端与服务器端采用不加密、SM2+AES加密、SSL加密方式进行的性能测试比较
|
||||
|
||||
* 本测试不作为性能测试参考,仅作为三种数据加密方式的性能比较使用
|
||||
* 本测试使用的操作系统为windows10,
|
||||
* 本测试使用的测试环境配置:内存:16G,CPU:i716核
|
||||
|
||||
## 1、测试程序准备情况
|
||||
* 将程序分别打包为`server`和`client`的`jar`包,在本地运行一个`server`端
|
||||
* 拷贝三个客户端配置文件,配置文件名称为`app.yml`、`app-sm2-aes.yml`、`app-ssl.yml`,并修改相应配置,适配不加密、SM2+AES加密和SSL加密
|
||||
|
||||
## 2、测试思路和实现
|
||||
(1)准备1KB、10KB、20KB、50KB、100KB、1MB、2MB、5MB、10MB、20MB、100MB、500MB的文件
|
||||
|
||||
(2)使用Nodejs实现的anywhere工具,在本地运行简单http服务
|
||||
|
||||
(3)在server端生成3个licenseKey,分别对应不加密、SM2+AES加密和SSL加密通道,端口分别为9101,9102和9103,并同时映射到anywhere的8000端口
|
||||
|
||||
(4)使用Hutool里的HttpUtil工具包,对每个文件进行下载,记录下载使用时间,重复执行10次
|
||||
|
||||
## 测试结果
|
||||
|
||||
序号| 加密方式 | 文件大小 |响应时间(ms)
|
||||
---|------|------|---
|
||||
1| 不加密 | 1KB |4
|
||||
2| SM2+AES | 1KB |21
|
||||
3| SSL | 1KB |67
|
||||
4| 不加密 | 10KB |3
|
||||
5| SM2+AES | 10KB |7
|
||||
6| SSL | 10KB |4
|
||||
7| 不加密 | 20KB |4
|
||||
8| SM2+AES | 20KB |6
|
||||
9| SSL | 20KB |5
|
||||
10| 不加密 | 50KB |4
|
||||
11| SM2+AES | 50KB |7
|
||||
12| SSL | 50KB |6
|
||||
13| 不加密 | 100KB |6
|
||||
14| SM2+AES | 100KB |8
|
||||
15| SSL | 100KB |6
|
||||
16| 不加密 | 1MB |19
|
||||
17| SM2+AES | 1MB |30
|
||||
18| SSL | 1MB |19
|
||||
19| 不加密 | 2MB |21
|
||||
20| SM2+AES | 2MB |40
|
||||
21| SSL | 2MB |24
|
||||
22| 不加密 | 5MB |31
|
||||
23| SM2+AES | 5MB |51
|
||||
24| SSL | 5MB |36
|
||||
25| 不加密 | 10MB |44
|
||||
26| SM2+AES | 10MB |85
|
||||
27| SSL | 10MB |47
|
||||
28| 不加密 | 20MB |63
|
||||
29| SM2+AES | 20MB |139
|
||||
30| SSL | 20MB |92
|
||||
31| 不加密 | 100MB |323
|
||||
32| SM2+AES | 100MB |590
|
||||
33| SSL | 100MB |322
|
||||
34| 不加密 | 500MB |1414
|
||||
35| SM2+AES | 500MB |2797
|
||||
36| SSL | 500MB |1561
|
||||
|
||||
## 测试结论
|
||||
|
||||
从测试结果可以看出,在请求的文件大小小于50KB时,SM2+AES的方式比SSL的方式效率高,当请求的文件大小大于50KB时,SSL的方式比SM2+AES的方式效率高。
|
||||
@@ -34,16 +34,16 @@ neutrino:
|
||||
tunnel:
|
||||
# 线程池相关配置,用于技术调优,可忽略
|
||||
thread-count: 50
|
||||
sm2-encrypt-enable: ${SM2_ENCRYPT_ENABLE:false}
|
||||
sm2-encrypt-enable: ${SM2_ENCRYPT_ENABLE:true}
|
||||
# 隧道SSL证书配置
|
||||
key-store-password: ${STORE_PASS:123456}
|
||||
jks-path: ${JKS_PATH:classpath:/test.jks}
|
||||
# 服务端IP
|
||||
server-ip: ${SERVER_IP:localhost}
|
||||
# 服务端端口(对应服务端app.yml中的tunnel.port、tunnel.ssl-port)
|
||||
server-port: ${SERVER_PORT:9002}
|
||||
server-port: ${SERVER_PORT:9000}
|
||||
# 是否启用SSL(注意:该配置必须和server-port对应上)
|
||||
ssl-enable: ${SSL_ENABLE:true}
|
||||
ssl-enable: ${SSL_ENABLE:false}
|
||||
# 客户端连接唯一凭证
|
||||
license-key: ${LICENSE_KEY:b0a907332b474b25897c4dcb31fc7eb6}
|
||||
# 客户端唯一身份标识(可忽略,若不设置首次启动会自动生成)
|
||||
|
||||
Reference in New Issue
Block a user