OPC UA:由于加密导致性能下降
OPC UA 服务器和 OPC UA 客户端之间的通信现在可以加密这一事实也有缺点。
这会影响建立连接以及操作期间的功耗要求。
使用较弱的设备——Raspberry Pi 3——进行了测试,结果可以更清楚地看到。
UaExpert 用作 OPC UA 客户端。
测量是手动进行的,变量会周期性地改变它们的值(最坏的情况)。
建立通信
为 CODESYS 控制器创建服务器证书时,您可以确定加密的长度:

创建证书时已经可以注意到时间差异。
根据密钥的长度,建立通信时可能会出现以下情况:
| 变量数/密钥长度 | 未加密 | 2048 | 3072 | 4096 |
|---|---|---|---|---|
| 1000个变量 | ~1秒 | ~6秒 | ~16秒 | ~25秒 |
| 2000个变量 | ~2秒 | ~8秒 | ~18秒 | ~26秒 |
根据客户端的不同,可能无法与控制器建立连接。 必须编辑 UaExpert 中的 ConnectionTimeout(默认设置:10 秒):
建立连接时,设备正在满负荷运行。=> CPU 负载:~ 100%
为了说明影响对设备的依赖程度,这里是从 OPC UA 客户端到 CODESYS Control Win V3 的连接。 对于 1000 个变量和 3072 位的密钥长度,这大约需要 1 秒:
正常操作
即使在正常操作期间,加密也需要更多的计算能力,如下表所示:
| 变量数/密钥长度 | 未加密 | 2048 | 3072 | 4096 |
|---|---|---|---|---|
| 1000个变量 | ~23% | ~25% | ~25% | ~25% |
| 2000个变量 | ~35% | ~39% | ~40% | ~40% |


