本发明涉及计算机技术领域,特别涉及一种加速卡测试方法及装置。
背景技术:
加速卡是一种可直接插接到服务器的标准总线接口插槽上,实现加密运算、解密运算和解压缩运算功能的板卡,在将加速卡插接到服务器的标准总线接口插槽之后,通常还需要对加速卡的性能进行测试。
目前,测试加速卡性能的方式,主要是针对安装加速卡后的服务器在压力测试工具Siege提供大流量环境下,处理器的负载情况来衡量加速卡性能。
通过上述方式衡量加速卡性能时,与处理器的负载情况有关,而处理器很容易受到其他业务条件的影响而出现负载失衡,导致测试结果的准确性极差。
技术实现要素:
本发明实施例提供了一种加速卡测试方法及装置,可提高测试结果的准确性。
第一方面,本发明提供了一种加速卡测试方法,应用于测试服务器,包括:
获取并安装QAT驱动程序;
获取并安装openssl驱动程序;
接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序;
通过所述QAT驱动程序驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算;
通过所述openssl驱动程序获取所述待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长。
优选地,在所述接收外部设备发送的测试请求之前,还包括:
检测是否存在待测加速卡与所述测试服务器相连。
优选地,在所述获取并安装openssl驱动程序之后,还包括:通过所述openssl驱动程序预先设置加密运算、解密运算和解压缩运算分别对应的时间阈值;
在所述通过所述openssl驱动程序获取待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长之后,还包括:
通过所述openssl驱动程序比较加密运算、解密运算和解压缩运算分别对应的时间阈值和运算时长,并根据比较结果确定所述待测加速卡的性能是否合格。
优选地,所述接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序,包括:
接收外部设备发送的携带设定次数number的测试请求,通过如下指令触发所述QAT驱动程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
第二方面,本发明实施例提供了一种加速卡测试装置,应用于测试服务器,包括:
第一处理模块,用于获取并安装QAT驱动程序;
第二处理模块,用于获取并安装openssl驱动程序;
第三处理模块,用于接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序;
所述QAT驱动程序,用于驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算;
所述openssl驱动程序,用于获取所述待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长。
优选地,还包括:
检测模块,用于检测是否存在待测加速卡与所述测试服务器相连。
优选地,所述openssl驱动程序,进一步用于预先设置加密运算、解密运算和解压缩运算分别对应的时间阈值;比较加密运算、解密运算和解压缩运算分别对应的时间阈值和运算时长,并根据比较结果确定所述待测加速卡的性能是否合格。
优选地,所述第三处理模块,用于接收外部设备发送的携带设定次数number的测试请求,通过如下指令触发所述QAT驱动程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
第三方面,本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行第一方面中任一项所述的方法。
本发明实施例提供了一种加速卡测试方法及装置,在该方法中,通过测试服务器获取并安装QAT驱动程序和openssl驱动程序,在接收到外部设备发送的测试请求时,则可触发安装的QAT驱动程序,由QAT驱动程序驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算,同时由openssl驱动程序获取待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长,即实现对加速卡的性能进行测试。综上可见,通过在测试服务器内安装QAT驱动程序和openssl驱动程序的方式,测试结果(即运算时长)不再依赖于处理器的负载情况,可提高测试结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种加速卡测试方法的流程图;
图2是本发明一实施例提供的另一种加速卡测试方法的流程图;
图3是本发明一实施例提供的一种加速卡测试装置的结构示意图;
图4是本发明一实施例提供的另一种加速卡测试装置的结构示意图;
图5是本发明一实施例提供的又一种加速卡测试装置的结构示意图;
图6是本发明一实施例提供的一种存储控制器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种加速卡测试方法,应用于测试服务器,包括:
步骤101,获取并安装QAT驱动程序;
步骤102,获取并安装openssl驱动程序;
步骤103,接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序;
步骤104,通过所述QAT驱动程序驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算;
步骤105,通过所述openssl驱动程序获取所述待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长。
本发明上述实施例中,通过测试服务器获取并安装QAT驱动程序和openssl驱动程序,在接收到外部设备发送的测试请求时,则可触发安装的QAT驱动程序,由QAT驱动程序驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算,同时由openssl驱动程序获取待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长,即实现对加速卡的性能进行测试。综上可见,通过在测试服务器内安装QAT驱动程序和openssl驱动程序的方式,测试结果(即运算时长)不再依赖于处理器的负载情况,可提高测试结果的准确性。
进一步的,由于加速卡通常通过测试服务器上的标准总线接口插槽插接到测试服务器上,为了确保工作人员将待测加速卡插接到测试服务器上时,测试服务器与加速卡确实成功连接,且已经被测试服务器所识别,本发明一个实施例中,在所述接收外部设备发送的测试请求之前,还包括:检测是否存在待测加速卡与所述测试服务器相连。如此,只有在确保待测加速卡与测试服务器成功连接时,工作人员才可通过相应的输入设备向测试服务器发送测试指令,以实现测试待测加速卡的性能。
进一步的,为了实现根据实际业务需求,设置相应的时间阈值来衡量加速卡的性能是否合格,本发明一个实施例中,在所述获取并安装openssl驱动程序之后,还包括:通过所述openssl驱动程序预先设置加密运算、解密运算和解压缩运算分别对应的时间阈值;
在所述通过所述openssl驱动程序获取待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长之后,还包括:
通过所述openssl驱动程序比较加密运算、解密运算和解压缩运算分别对应的时间阈值和运算时长,并根据比较结果确定所述待测加速卡的性能是否合格。
本发明上述实施例中,加密运算、解密运算和解压缩运算分别对应的运算时长中,当任意一个运算时长大于对应的时间阈值时,则可确定待测加速卡的性能不合格。相反地,当加密运算、解密运算和解压缩运算分别对应的运算时长均不大于对应的时间阈值时,则可确定待测加速卡的性能合格。
进一步的,为了实现根据用户实际业务需求合理设置待测加速卡进行加密运算、解密运算及解压缩运算的次数,本发明一个实施例中,所述接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序,包括:
接收外部设备发送的携带设定次数number的测试请求,通过如下指令触发所述QAT驱动程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
本发明上述实施例中,该条指令中的number即为用户根据实际业务需求,通过相应的输入设备发送的测试请求中携带的设定次数,QAT驱动程序可根据该条指令中携带的设定次数number驱动待测加速卡分别进行对应该设定次数number的加密运算、解密运算和加解密运算。
为了更加清楚的说明本发明的技术方案及优点,下面结合图2所示的实施例做进一步的说明,具体包括如下各个步骤:
步骤201,将待测加速卡插接到测试服务器的标准总线接口插槽。
步骤202,检测是否存在待测加速卡与所述测试服务器相连。
这里,即检测测试服务器的标准总线接口插槽是否与待测加速卡成功连接。具体了,在检测待测加速卡与测试服务器是否相连时,如果对应测试服务器的显示设备上输出如下所示的识别信息,则说明测试服务器与待测加速卡已经成功连接,且待测加速卡已经被测试服务器识别为加速卡:
[root@localhost~]#lspci|grep Co-processor
03:00.0 Co-processor:Intel Corporation Coleto Creek PCIe Endpoint
82:00.0 Co-processor:Intel Corporation Coleto Creek PCIe Endpoint.
步骤203,获取并安装QAT驱动程序。
这里,具体可以通过如下代码实现安装QAT驱动程序:
mkdir/QAT
cd/QAT
tar–zxof qatmux.l.2.5.0-80
chmod-R 770/QAT
sh install.sh.
步骤204,获取并安装openssl驱动程序。
这里,具体可以通过如下代码实现安装openssl驱动程序:
步骤205,通过openssl驱动程序预先设置加密运算、解密运算和解压缩运算分别对应的时间阈值。
步骤206,接收外设备输入的测试请求携带设定次数number的测试请求,并根据该测试请求触发QAT驱动程序。
具体地,在接收到用户通过相应的输入设备发送的携带设定次数number的测试请求之后,则可具体通过如下指令触发QAT驱动程序:
./apps/openssl speed -engine qat rsa2048-elapsed-asynch-batch number-multi 1。
步骤207,QAT驱动程序驱动待测加速卡分别执行设定次数number的加密运算、解密运算和解压缩运算。
步骤208,openssl驱动程序获取待测加速卡分别完成设定次数number的加密运算、解密运算和解压缩运算时对应的运算时长。
步骤209,openssl驱动程序比较加密运算、解密运算和解压缩运算分别对应的时间阈值和运算时长,判断各个运算时长是否均不大于对应的时间阈值,如果是,则执行步骤210;否则,执行步骤211。
本发明实施例中,设定次数可以结合用户实际业务需求进行合理设置,举例来说,可设定次数number为100次,加密运算、解密运算和解压缩运算分别对应的时间阈值为:30s、30s和3秒,即衡量加速卡的性能合格的标准为:加速卡分别进行100次加密运算和100次解密运算时,所占用的运算时长均不应大于30s,且加速卡进行100次解压缩运算时,所占用的运算时长不应大于3秒。
步骤210,确定待检测加速卡的性能合格。
步骤211,确定待检测加速卡的性能不合格。
如图3、图4所示,本发明实施例提供了一种加速卡测试装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的加速卡测试装置所在测试服务器的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
具体地,如图4所示,本发明实施例提供了一种加速卡测试装置,应用于测试服务器,包括:
第一处理模块401,用于获取并安装QAT驱动程序402;
第二处理模块403,用于获取并安装openssl驱动程序404;
第三处理模块405,用于接收外部设备发送的测试请求,根据所述测试请求触发所述QAT驱动程序402;
所述QAT驱动程序402,用于驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算;
所述openssl驱动程序404,用于获取所述待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长。
进一步的,由于加速卡通常通过测试服务器上的标准总线接口插槽插接到测试服务器上,为了确保工作人员将待测加速卡插接到测试服务器上时,测试服务器与加速卡确实成功连接,且已经被测试服务器所识别,如图5所示,本发明一个优选实施例中,还包括:
检测模块501,用于检测是否存在待测加速卡与所述测试服务器相连。
进一步的,为了实现根据实际业务需求,设置相应的时间阈值来衡量加速卡的性能是否合格,本发明一个实施例中,所述openssl驱动程序404,进一步用于预先设置加密运算、解密运算和解压缩运算分别对应的时间阈值;比较加密运算、解密运算和解压缩运算分别对应的时间阈值和运算时长,并根据比较结果确定所述待测加速卡的性能是否合格。
进一步的,为了实现根据用户实际业务需求合理设置待测加速卡进行加密运算、解密运算及解压缩运算的次数,本发明一个实施例中,所述第三处理模块405,用于接收外部设备发送的携带设定次数number的测试请求,通过如下指令触发所述QAT驱动程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明任意一个实施例中提供的加速卡测试方法。
如图6所示,本发明实施例提供了一种存储控制器,包括:处理器601、存储器602和总线603;
所述处理器601和所述存储器602通过所述总线603连接;
所述存储器602,当所述存储控制器运行时,所述处理器601执行所述存储器602存储的所述执行指令,以使所述存储控制器执行本发明任意一个实施例中提供的加速卡测试方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、本发明一实施例中,通过测试服务器获取并安装QAT驱动程序和openssl驱动程序,在接收到外部设备发送的测试请求时,则可触发安装的QAT驱动程序,由QAT驱动程序驱动待测加速卡分别执行设定次数的加密运算、解密运算和解压缩运算,同时由openssl驱动程序获取待测加速卡分别完成设定次数的加密运算、解密运算和解压缩运算时对应的运算时长,即实现对加速卡的性能进行测试。综上可见,通过在测试服务器内安装QAT驱动程序和openssl驱动程序的方式,测试结果(即运算时长)不再依赖于处理器的负载情况,可提高测试结果的准确性。
2、本发明一实施例中,在测试服务器中的加速卡测试装置接收外部设备发送的测试请求之前,还需要检测是否存在待测加速卡与测试服务器相连。如此,只有在确保待测加速卡与测试服务器成功连接时,工作人员才可通过相应的输入设备向测试服务器发送测试指令,以实现测试待测加速卡的性能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。