一种高频数据传输压力测试方法及系统与流程

文档序号:12309448阅读:591来源:国知局
一种高频数据传输压力测试方法及系统与流程

本发明涉及服务器测试技术,尤指一种高频数据传输压力测试方法及系统。



背景技术:

在大数据时代,高频数据传输通道作为服务器公共系统接口,可以实现芯片间直接互联的通道,如处理器间快速互联通道可实现多核处理器内部的直接互联,这大大加快了数据的传输及处理效率。服务器的快速发展对高频数据传输设计提出越来越高的要求,如超级通道互连upi(ultrapathinterconnect)数据传输率可达10.4gt/s,带宽更足,灵活性更强,每条消息可以发送多个请求。在这种情况下,进行高频数据传输的压力测试尤为重要。现有的测试方法为测试高速数据传输经过的关键节点的误码率来验证服务器系统运行是否稳定的方法,上述方法需要多个测试工具配合才能完成高速数据传输的稳定性验证,且上述方法并未考虑到真实的业务场景进行长时间的压力测试。



技术实现要素:

为了解决上述技术问题,本发明提供了一种高频数据传输压力测试方法及系统,通过验证高频数据传输压力,反应高速传输通道的稳定性。

为了达到本发明目的,本发明提供了一种高频数据传输压力测试方法,应用于由被测服务器和压力机相互连接组成的测试系统,所述被测服务器包含至少两个非统一内存访问numa节点和至少两个网络适配器,每个numa节点对应一个网络适配器,所述numa节点之间通过快速互联通道qpi通信,包括:

所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点;

所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点;

所述压力机运行网络测试工具对所述被测服务器进行高频数据传输压力测试,所述网络测试工具为通用的网络性能测试开源软件。

进一步地,在被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点之前,该方法还包括:

所述被测服务器将基本输入输出系统bios侦测模式设置为提早侦测es模式。

进一步地,在所述压力机运行网络测试工具对所述被测服务器进行高频数据传输压力测试之后,该方法还包括:

所述压力机收集所述至少两个网络适配器的性能结果,或者所述至少两个网络适配器的状态,或者系统事件;

所述性能结果包括网络数据传输速率,当所述网络数据传输速率高于预设第一阈值时,则表示压力测试无效;当所述网络数据传输速率低于预设第二阈值时,则表示压力测试有效;当所述网络适配器的状态包括挂掉或者错误时,则表示压力测试无效;当所述系统事件包括系统日志中记录qpi通道错误或者系统长时间无反应时,则表示压力测试无效。

进一步地,所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点,具体包括:

所述被测服务器执行预先配置的第一命令行外壳powershell脚本,所述第一powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点。

进一步地,所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点,具体包括

所述压力机执行预先配置的第二powershell脚本,所述第二powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,所述压力机中将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点,具体包括:

所述压力机执行安装的网络测试工具中预先配置的的内置命令,所述内置命令内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

为了达到本发明目的,本发明还提供了一种高频数据传输压力测试系统该系统包括:

相互连接的被测服务器和压力机,所述被测服务器包含至少两个numa节点和至少两个网络适配器,每个numa节点对应一个网络适配器,所述numa节点之间通过快速互联通道qpi通信,

所述被测服务器,用于将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点;

所述压力机,用于将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点;

所述压力机,还用于运行网络测试工具对所述被测服务器进行高频数据传输压力测试,所述网络测试工具为通用的网络性能测试开源软件。

进一步地,在将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点之前,

所述被测服务器,还用于将被测服务器的基本输入输出系统bios侦测模式设置为提早侦测es模式。

进一步地,在运行网络测试工具对所述被测服务器进行高频数据传输压力测试之后,

所述压力机收集所述至少两个网络适配器的性能结果,或者所述至少两个网络适配器的状态,或者系统事件;

所述性能结果包括网络数据传输速率,当所述网络数据传输速率高于预设第一阈值时,则表示压力测试无效;当所述网络数据传输速率低于预设第二阈值时,则表示压力测试有效;当所述网络适配器的状态包括挂掉或者错误时,则表示压力测试无效;当所述系统事件包括系统日志中记录qpi通道错误或者系统长时间无反应时,则表示压力测试无效。

进一步地,所述被测服务器,具体用于在所述被测服务器中执行预先配置的第一powershell脚本,所述第一powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点。

进一步地,所述压力机,具体用于在所述压力机中执行预先配置的第二powershell脚本,所述第二powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,所述压力机,具体用于在所述压力机中执行安装的网络测试工具中预先配置的内置命令,所述内置命令内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

本发明提供了一种高频数据传输压力测试的方法,应用于由被测服务器和压力机相互连接组成的测试系统,所述被测服务器包含至少两个非统一内存访问numa节点和至少两个网络适配器,每个numa节点对应一个网络适配器,所述numa节点之间通过快速互联通道qpi通信,包括:所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点;所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点;所述压力机运行网络测试工具对所述被测服务器进行高频数据传输压力测试,所述网络测试工具为通用的网络性能测试开源软件。本发明采用通过验证高频数据传输压力,反应高速传输通道的稳定性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明提供的高频数据传输压力测试方法流程示意图;

图2为本发明提供的高频数据传输压力测试系统结构示意图;

图3为本发明实施例一提供的高频数据传输压力测试方法示意图。

具体实施方式

下面将结合附图及实施例对本发明的技术方案进行更详细的说明。

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

非统一内存访问(numa,non-uniformmemoryaccess)是一种用于多处理器的设计,其内存访问时间取决于处理器的内存位置。在numa下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。numa技术(,非统一内存访问机制)中,系统所有内存被分为若干个块,同时系统拥有多条内存总线,处理器通过每个内存总线与一块内存相连构成一个组,这样numa系统被分为若干个组,每个组被称为一个节点(node)。处于该节点中的内存被称为本地内存(localmemory),处于其它节点中的内存对于该组而言被称为远程内存(foreignmemory)。多队列rss(receivesidescaling)技术可让网络适配器在内核模式网络处理负载分布于多核计算机中的多个处理器核心。换言之,rss技术可以使网络适配器绑定多个处理器核心,这些物理核心可以处于本地numa节点,也可以处于远程numa节点。相比于仅使用一个核心可能出现的情况,此处理的分布可以支持更高的网络流量负载。服务器网络适配器的主板高速外设组件互连总线pcie(又称为pci-express,peripheralcomponentinterconnectexpress是一种高速串行计算机扩展总线标准)插槽位置决定其本地处理器位置及本地numa系统位置。

本发明提供的技术方案应用于基于windows系统的服务器,其中,windows操作系统可以通过powershell脚本将一个网络适配器绑定任意处理器核心,即绑定任意numa节点,可以绑定至本地numa节点或远程numa节点,各个节点自有含有多个核心的处理器以及内存,本地节点访问其它远程节点的内存则通过快速互联通道qpi(quickpathinterconnect)。本发明采用通过测试处理器之间、内存与处理器之间、pcie高速扩展设备网络适配器的数据传输性能来验证服务器在高频数据传输情况下是否能够稳定运行。通过测试网络适配器的数据传输状态及性能,来验证高频数据传输设计是否合理,能否满足市场业务需求。

图1为本发明提供的高频数据传输压力测试方法流程示意图,如图1所示,本发明提供了一种高频数据传输压力测试的方法,应用于由被测服务器和压力机相互连接组成的测试系统,所述被测服务器包含至少2个numa节点和至少2个网络适配器,每个numa节点对应一个网络适配器,所述numa节点之间通过快速互联通道qpi通信,包括:

所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点;

所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点;

所述压力机运行网络测试工具对所述被测服务器进行高频数据传输压力测试,所述网络测试工具为通用的网络性能测试开源软件。

通用的网络性能测试开源软件包括以下之一:ntttcp(networkperformancetool)测试工具、netcps测试工具、jperf测试工具等。

进一步地,所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点,具体包括:

所述被测服务器执行预先写好的第一powershell脚本,所述第一powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点。

进一步地,所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点,具体包括

所述压力机中执行预先写好的第二powershell脚本,所述第二powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,所述压力机将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点,具体包括

所述压力机执行安装的网络测试工具中的内置命令,所述内置命令内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,在所述被测服务器将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点之前,该方法还包括:

所述被测服务器将基本输入输出系统bios侦测模式设置为提早侦测es模式。

进一步地,在所述压力机运行网络测试工具对所述被测服务器进行高频数据传输压力测试之后,该方法还包括:

所述压力机收集所述至少两个网络适配器的性能结果,或者所述至少两个网络适配器的状态,或者系统事件;

进一步地,所述性能结果包括网络数据传输速率,当所述网络数据传输速率高于预设第一阈值时,则表示压力测试无效;当所述网络数据传输速率低于预设第二阈值时,则表示压力测试有效;例如可以预先设定第一阈值为2400gb/s,第二阈值为1900gb/s。

进一步地,所述网络适配器的状态包括挂掉或者错误,则表示测试无效。

进一步地,所述系统事件包括系统日志中记录qpi通道错误或者系统长时间无反映,则表示测试无效。

本发明提供的高频数据传输压力测试方法,利用网络测试工具来验证服务器高频数据传输的压力测试,能够有效验证服务器高频数据传输通道的设计是否合理,稳定性是否满足实际业务场景的需求。利用该方法可以结合实际的业务场景真实有效地对高频数据传输通道施加压力,反应系统运行状态及高速数据传输通道的稳定性。

图2为本发明提供的高频数据传输压力测试系统结构示意图,如图2所示,该系统包括:

相互连接的被测服务器和压力机,所述被测服务器包含至少2个numa节点和至少2个网络适配器,每个numa节点对应一个网络适配器,所述numa节点之间通过快速互联通道qpi通信,

所述被测服务器,用于将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点;

所述压力机,用于将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点;

所述压力机,还用于运行网络测试工具对所述被测服务器进行高频数据传输压力测试,所述网络测试工具为通用的网络性能测试开源软件。

其中,压力机可以为多个。通用的网络性能测试开源软件包括以下之一:ntttcp(networkperformancetool)测试工具、netcps测试工具、jperf测试工具等。

进一步地,所述被测服务器,具体用于在所述被测服务器中执行预先写好的第一powershell脚本,所述第一powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点。

进一步地,所述压力机,具体用于在所述压力机中执行预先写好的第二powershell脚本,所述第二powershell脚本内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,所述压力机,具体用于在所述压力机中执行安装的网络测试工具中的内置命令,所述内置命令内容包括:

获取所述第一网络适配器端口和第二网络适配器端口的硬件信息及多队列rss信息,确定本地第一numa节点和远程第二numa节点的位置;

将本地第一numa节点对应的第一网络适配器端口分配给本地第一numa节点,将远程第二numa节点对应的第二网络适配器端口分配给远程第二numa节点。

进一步地,所述被测服务器,还用于在将本地第一numa节点对应的第一网络适配器端口分配给远程第二numa节点,将远程第二numa节点对应的第二网络适配器端口分配给本地第一numa节点之前,将被测服务器的基本输入输出系统bios侦测模式设置为提早侦测es模式。

进一步地,所述压力机,还用于在运行网络测试工具对所述被测服务器进行高频数据传输压力测试之后,

所述压力机,还用于收集所述至少两个网络适配器的性能结果,或者所述至少两个网络适配器的状态,或者系统事件;

进一步地,所述性能结果包括网络数据传输速率,当所述网络数据传输速率高于预设第一阈值时,则表示压力测试无效;当所述网络数据传输速率低于预设第二阈值时,则表示压力测试有效;例如可以预先设定第一阈值为2400gb/s,第二阈值为1900gb/s。

进一步地,所述网络适配器的状态包括挂掉或者错误,则表示测试无效。

进一步地,所述系统事件包括系统日志中记录qpi通道错误或者系统长时间无反映,则表示测试无效。

实施例一

本实施例中,网络测试工具以ntttcp(networkperformancetool)测试工具为例,详细说明本发明技术方案。

图3为本发明实施例一提供的高频数据传输压力测试方法示意图,如图3所示,该测试方法具体过程如下:

在标准windows测试环境下进行,所述测试环境包括一台被测服务器及若干压力机。使用预先写好的powershell脚本将被测服务器本地节点的网络适配器端口分配远程numa节点,即将属于numa节点1的端口分配numa节点2,将属于numa节点2的端口分配numa节点1。压力机中安装有网络测试工具,本实施例中采用可以将处理器核心绑定至具体网络适配器端口的网络测试工具,如ntttcp工具。在压力机中通过网络测试工具,将网络适配器端口分配给本地的numa节点,即将属于numa节点1的端口分配本地numa节点1,将属于numa节点2的端口分配本地numa节点2。当被测服务器侦测模式处于es模式,上述反复交叉设置将导致大量的qpi侦测循环,从而达到对高频数据传输通道施加压力,如图3所示。在如此大的压力下,网络适配器端口的吞吐量性能将大幅下降、卡住或出现僵尸态,在这种情况下,观察系统运行是否正常,是否有系统错误出现。

被测服务器运行高频数据传输压力测试方法主要包括以下步骤:

(1)压力测试前,将被测服务器的bios侦测模式设置为es模式,numa架构开启;

(2)服务器主板全部pcie槽位

(3)压力测试前,获取网络适配器端口硬件信息及rss信息,确定网络适配器本地numa节点位置;

(4)重命名网络适配器端口,以简化为原则,如0-1,0表示pcieslot位置,1代表网络适配器端口号;

(5)使用powershell脚本将被测服务器本地节点的网络适配器端口分配远程numa节点,例如脚本内容可以包括如下内容(slot0位置网卡(网络适配器1)的本地numa节点为1,远程numa节点为3,slot1位置网卡(网络适配器2)的本地numa节点为2,远程numa节点为1):

(6)验证被测服务器与压力机网络连通性;

(7)在网络测试工具中,使用内置命令参数将网络适配器端口分配本地numa节点;

(8)运行压力机的网络测试工具;

(9)运行被测服务器的网络测试工具,将测试时间设置为48小时;

(10)压力测试结束后,收集网络适配器的性能结果、网络适配器状态及系统事件。

本发明采用通过测试处理器间快速互联通道、内存控制器间互联通道、pcie高速扩展设备网络适配器的数据传输性能来验证高频数据传输设计是否合理。使用powershell脚本将被测服务器本地节点的网络适配器端口分配给远程numa节点,即在内核空间强制将被测服务器的网络适配器端口分配至远程numa节点;在网络测试应用程序层面将网络适配器端口分配给本地numa节点,即在用户空间强制将被测服务器的网络适配器端口分配至本地numa节点。如此设置将导致高频数据传输通道处于高压力状态。

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1