鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

KAE加速Nginx应用

本节提供Web场景下KAE如何使能Nginx加速的使用案例和方法。

环境要求

本案例验证的环境如表1表2所示,其他版本的Nginx、OS也可参考本节内容验证。

表1 硬件要求

项目

说明

CPU

鲲鹏920 7260处理器

表2 操作系统与软件要求

项目

版本

OS

openEuler 20.03 LTS SP1/SP2

Nginx

1.14.2

OpenSSL

1.1.1x/3.0.12

httpress

1.1.0

前提条件

  1. 请参见《Nginx 移植指南》使用源码编译方式安装Nginx,并完成Nginx的HTTPS功能的配置。

    不同算法套件测试得到的性能数据存在差异,您可以需要根据实际情况进行算法套件的配置,若算法套件中某算法KAE不支持,则调用OpenSSL软算接口。

  2. 请参见《httpress 测试指导》使用源码编译方式安装并验证httpress。

使用软算测试Nginx的性能

  1. 启动Nginx。
    1
    2
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ps -ef | grep nginx
    
  2. 以50万个请求,100个并发连接数,100个线程为例测试软算性能,即未使用KAE加速器时的性能数据。
    1
    ./httpress -n 500000 -c 100 -t 100 https://127.0.0.1:20000/index.html
    

使用硬算测试Nginx的性能

  1. 请参见《鲲鹏加速引擎 用户指南》完成KAE的安装和验证。
  2. 关闭Nginx。
    1
    2
    /usr/local/nginx/sbin/nginx -s quit
    ps -ef | grep nginx
    
  3. 请参见《鲲鹏加速引擎 用户指南》中的“通过OpenSSL/Tongsuo配置文件openssl.cnf使用KAE”章节确保OpenSSL能够通过OPENSSL_CONF调用配置文件,识别到KAE。
  4. 启动Nginx。
    1
    2
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ps -ef | grep nginx
    
  5. 以50万个请求,100个并发连接数,100个线程为例测试硬算性能,即使用KAE加速器时的性能数据。
    1
    ./httpress -n 500000 -c 100 -t 100 https://127.0.0.1:20000/index.html
    

    在测试的同时,重新开启一个终端窗口,执行cat /sys/class/uacce/hisi_hpre-*/attrs/available_instances命令,可以看到显示结果从256变为255,说明已经消耗掉了一个硬算队列,测试执行完后数值恢复到256,说明KAE加速器已经生效。

    若KAE加速器已生效即硬算使能情况下,性能数据无明显提高,并且available_instances值未变化,请检查前面的步骤是否正确,若Nginx和KAE各自验证正常,可能是OPENSSL_CONF配置文件不正确,或者权限不正确,若不能处理,请联系华为工程师。

数据对比

从以上测试结果来看,软算测试性能为6939 rps,即每秒请求数为6939个;硬算测试性能为12262 rps,即每秒请求数为12262个。可以发现使用KAE加速后,性能有明显提升。

  • 不同算法套件测试得到的性能数据存在差异,请以实际选择的算法套件测试结果为准。
  • 如果用到openssl req -new -x509命令生成证书功能,请参见使用openssl req -new -x509命令生成证书失败中的方法二完成openssl.cnf文件的配置。