KAE对Nginx处理HTTPS连接请求的性能调优
通过配置OpenSSL和Nginx以使用KAE,并比较使能和未使能KAE时Nginx处理HTTPS连接请求的性能提升效果。
- 创建并配置OpenSSL配置文件,使Nginx可以使用KAE。
- 创建文件openssl.cnf。
1
vi 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。
1
export OPENSSL_CONF=/home/openssl.cnf
- 创建文件openssl.cnf。
- 修改Nginx配置文件,为Nginx性能测试作准备,以比较开启和未开启KAE时Nginx处理HTTPS连接请求的性能。
- 打开“/usr/local/nginx/conf/nginx.conf”文件。
1
vi /usr/local/nginx/conf/nginx.conf
- 按“i”进入编辑模式,将文件中的ssl_ciphers改成AES256-GCM-SHA384,即改为使用RSA算法套。
1
ssl_ciphers AES256-GCM-SHA384;
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/usr/local/nginx/conf/nginx.conf”文件。
- 不使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 取消KAE环境变量,默认使用软算能力。
1
unset OPENSSL_CONF
- 启动Nginx服务。
1
taskset -c 16-25 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 监控VF队列消耗情况。
- 取消KAE环境变量,默认使用软算能力。
- 在客户端上执行以下操作:
使用HTTPress工具对服务器进行压力测试。
1
httpress -n 500000 -c 100 -t 100 https://IP:port/index.html
命令参数说明如下:
- -n:请求数。
- -t:线程数。
- -c:并发数。
- IP:被测服务器的IP地址。
- port:被测服务器的端口号。
使能KAE前的性能测试结果:服务器每秒完成5330次请求。
- 在服务端上执行以下操作:
- 使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 设置KAE环境变量,默认使用KAE硬算能力。
1
export OPENSSL_CONF=/home/openssl.cnf
- 启动Nginx服务。
1
taskset -c 16-25 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 监控VF队列消耗情况。不额外创建虚拟机化设备时,VF队列默认为256。当使用到KAE,VF队列会被消耗,也就是小于256。
1
watch -n 0.2 cat /sys/class/uacce/hisi_*/available_instances
- 设置KAE环境变量,默认使用KAE硬算能力。
- 在客户端上执行以下操作:
命令参数说明如下:
- -n:请求数。
- -t:线程数。
- -c:并发数。
- IP:被测服务器的IP地址。
- port:被测服务器的端口号。
使能KAE后的性能测试结果:服务器每秒完成10700次请求。
- 在服务端上执行以下操作:
父主题: 在物理机使能KAE加解密