通过配置OpenSSL和Nginx以使用KAE,并比较使能和未使能KAE时Nginx处理HTTPS连接请求的性能提升效果。
- 创建并配置OpenSSL配置文件,使Nginx可以使用KAE。
- 创建文件openssl.cnf。
- 按“i”进入编辑模式,在配置文件openssl.cnf添加以下内容后,将openssl.cnf放在“/home”目录下。
openssl_conf=openssl_def
[openssl_def]
engines=engine_section
[engine_section]
kae=kae_section
[kae_section]
engine_id=kae
dynamic_path=/usr/local/lib/engines-1.1/kae.so
default_algorithms=ALL
init=1
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 使能KAE。
|
export OPENSSL_CONF=/home/openssl.cnf
|
- 修改Nginx配置文件,为Nginx性能测试作准备,以比较开启和未开启KAE时Nginx处理HTTPS连接请求的性能。
- 打开“/usr/local/nginx/conf/nginx.conf”文件。
|
vi /usr/local/nginx/conf/nginx.conf
|
- 按“i”进入编辑模式,将文件中的ssl_ciphers改成AES256-GCM-SHA384,即改为使用RSA算法套。
|
ssl_ciphers AES256-GCM-SHA384;
|

- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 不使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 取消KAE环境变量,默认使用软算能力。
- 启动Nginx服务。
|
taskset -c 16-25 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
|
- 监控VF队列消耗情况。
不额外创建虚拟机化设备时,VF队列默认为256。当未使用到KAE,VF队列不会被消耗,也就是默认的256。
|
watch -n 0.2 cat /sys/class/uacce/hisi_*/available_instances
|
- 在客户端上执行以下操作:
使用HTTPress工具对服务器进行压力测试。
|
httpress -n 500000 -c 100 -t 100 https://IP:port/index.html
|
命令参数说明如下:
- -n:请求数。
- -t:线程数。
- -c:并发数。
- IP:被测服务器的IP地址。
- port:被测服务器的端口号。
使能KAE前的性能测试结果:服务器每秒完成5330次请求。

- 使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 设置KAE环境变量,默认使用KAE硬算能力。
|
export OPENSSL_CONF=/home/openssl.cnf
|
- 启动Nginx服务。
|
taskset -c 16-25 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
|
- 监控VF队列消耗情况。不额外创建虚拟机化设备时,VF队列默认为256。当使用到KAE,VF队列会被消耗,也就是小于256。
|
watch -n 0.2 cat /sys/class/uacce/hisi_*/available_instances
|
- 在客户端上执行以下操作:
使用HTTPress工具对服务器进行压力测试。
|
httpress -n 500000 -c 100 -t 100 https://IP:port/index.html
|
命令参数说明如下:
- -n:请求数。
- -t:线程数。
- -c:并发数。
- IP:被测服务器的IP地址。
- port:被测服务器的端口号。
使能KAE后的性能测试结果:服务器每秒完成10700次请求。

结合3和4的性能测试结果可以看到,使能KAE前后的性能值分别是5330、10700,性能约提升100%。