使用OpenSSL对vKAE进行性能测试
在客户端上,以RSA加解密算法为例,使用OpenSSL工具对vKAE进行详细的性能测试,涵盖原生Nginx的同步与异步模式,以及使能vKAE结合Nginx的同步与异步模式,并对测试结果进行详细分析,得出结论与应用建议。
测试命令介绍
以4C8G规格的虚拟机为例,在虚拟机中执行四组OpenSSL性能测试,分别针对原生Nginx的同步和异步模式,以及使能vKAE结合Nginx的同步与异步模式。
各组的测试命令如下:
- Nginx同步模式。
numactl -C 0 openssl speed -elapsed -multi 1 rsa2048
- Nginx异步模式。
numactl -C 0 openssl speed -elapsed -multi 1 -async_jobs 4 rsa2048
- 使能vKAE + Nginx同步模式。
OPENSSL_CONF=/home/openssl.cnf numactl -C 0 openssl speed -engine kae -elapsed -multi 1 rsa2048
- 使能vKAE + Nginx异步模式。
OPENSSL_CONF=/home/openssl.cnf numactl -C 0 openssl speed -engine kae -elapsed -multi 1 -async_jobs 4 rsa2048

以下参数请根据实际情况调整:
- numactl -C 0:表示绑核编号为0的CPU核。
- -m 0:表示绑核位置在NUMA node0。
- -engine kae -elapsed:表示使用KAE进行加速。
- -multi:表示并发线程数。1表示没有并行操作,即每次只执行一个操作。
- -async_jobs:表示使用异步作业的数量。4表示将同时启动4个异步作业。
测试结果与分析
在4C8G虚拟机中使用openssl speed命令测试得到的RSA-sign结果如表1所示。
在CPU利用率达到100%的情况下,得出以下结论:
- vKAE加速效果:在4C8G规格的虚拟机中,vKAE硬件加速显著提升了性能。在vKAE加速达到瓶颈之前,对于异步模式,性能提升高达16倍;对于同步模式,也实现了3倍的性能提升。
- 同步与异步模式比较:在OpenSSL场景下启用vKAE进行加速后,异步模式相比同步模式在性能上提升了4.2倍,显示出异步处理在高并发场景下的优势。未启用vKAE时,同步和异步模式的性能差异几乎无差异。
- 硬软比分析:同步模式的硬软比约为4倍,而异步模式高达17倍,表明异步模式在利用硬件加速资源时更为高效。
硬软比指硬件加速的算力和纯CPU软算(不使用KAE加速)的比值。
结论与应用建议
对于4C8G规格的虚拟机:
- vKAE硬件加速的优势:在资源受限的虚拟机环境中,vKAE硬件加速是提升RSA签名性能的有效手段。
- 异步模式的优势:对于需要处理大量并发请求的应用,推荐采用Nginx异步模式结合vKAE硬件加速,以获得最佳性能。
- 在不同规格的虚拟机中,不同的服务端线程数的测试结果、趋势都存在差异,需要具体问题具体分析。但在Nginx应用场景中,对于Nginx服务端,在不超过64个核的绑定场景下,vKAE硬件加速RSA-sign的上限值约为54000sign/s,为实际部署提供了参考依据。
父主题: 测试