KAE对Docker容器内Nginx的性能调优
在Docker容器内启动Nginx服务,并对比不使能和使能KAE时的性能测试结果。
- 修改Nginx配置文件,在容器内启动Nginx服务,为验证KAE对加解密性能的提升比例做准备。
- 打开“/usr/local/nginx/conf/nginx.conf”文件。
1
vi /usr/local/nginx/conf/nginx.conf
- 按“i”进入编辑模式,在文件中修改Nginx服务进程为4。当前Docker只绑定了4个core,那么Nginx服务进程也应为4。
1 2 3 4 5 6 7 8
user root; worker_processes 4; worker_cpu_affinity 100000000000000000000 1000000000000000000000 10000000000000000000000 100000000000000000000000 ;
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/usr/local/nginx/conf/nginx.conf”文件。
- 在Docker容器内,不使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 取消KAE环境变量,默认使用软算能力。
1
unset OPENSSL_CONF
- 启动Nginx服务,无需额外指定core,因为由3可知,Docker已绑定20-23号core。
1
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 监控VF队列消耗情况。
- 取消KAE环境变量,默认使用软算能力。
- 在客户端上执行以下操作:
性能测试结果:服务器每秒完成2243次请求。
- 在服务端上执行以下操作:
- 在Docker容器内,使能KAE,启动Nginx服务,进行压力测试。
- 在服务端上执行以下操作:
- 取消KAE环境变量,默认使用软算能力。
1
export OPENSSL_CONF=/home/openssl.cnf
- 启动Nginx服务,由3可知,该Docker已指定core为20-23,故无需在用taskset -c指定core,进程数为4,core数也为4。
1
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 监控VF队列消耗情况。额外创建虚拟机化设备时,VF队列会变化,3个设备队列数变为768。当使用到KAE,VF队列会被消耗,会小于768。
1
watch -n 0.2 cat /sys/class/uacce/hisi_*/available_instances
- 取消KAE环境变量,默认使用软算能力。
- 在客户端上执行以下操作:
性能测试结果:服务器每秒完成4368次请求。
- 在服务端上执行以下操作:
父主题: 在Docker容器中使能KAE加解密