硬件加密卡测试(2):高性能对比测试

硬件加密卡测试(2):高性能对比测试

这次我们对加密卡进行性能对比测试,通过在不同场景下,对比BC库软算法以及加密卡的表现,来看加密卡的实际运用情况如何。

调用代码不做任何额外优化,均使用JCE方式来调用相关处理过程。

测试环境:

加密卡:SJK1828
服务器:Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz *2 40线程;32GB内存

模拟任务:SM2加签,数据长度4800字节。

实现并发线程数任务总数任务间延迟执行时间(ms)CPU占用率TPS
BC库软算法1500000436163.5%1146
BC库软算法1005000015843820%5925
BC库软算法1001000000857080%11668
加密卡150000084292%5931
加密卡100500001577444.7%6456
加密卡100100000048607%20576

分别用几组模拟任务进行对比。其中CPU占用率为top命令直接观察记录,可能略有偏差,为瞬时值。任务执行前,会进行预热一轮。

通过对比数据,我们可以发现如下几点:

1、单线程下,加密卡性能就可以跑到约6000TPS。而用CPU跑BC库软算法,只能到1100TPS。

2、100线程,带任务间延迟15毫秒,加密卡与BC库软算法,均跑到约6000TPS。但是CPU占用率差别巨大。加密卡场景下,CPU几乎空载。

3、100线程,不带任务间延迟,加密卡跑出20000TPS,BC库软算法抛出12000TPS。但是CPU差距明显,加密卡场景,依然维持CPU空载,而BC库场景下,CPU占用80%,已经几乎满载。

该加密卡标称的SM2的2万TPS得以验证,没有问题的。

另外加密卡对于CPU负载的卸载效果非常好,几乎可以让CPU完全空下来,而且延迟很低。