发明内容
为了解决传统的压力测试方法无法测试到用户端的所有网络卡,而造成测试时网络卡覆盖率不足,无法完全达到压力测试目的的问题,本发明提供了一种网络卡的压力测试方法。
本发明公开了一种网络卡的压力测试方法,通过具有多个网络卡的用户端向服务器发送测试文件,用户端并接收服务器回传的测试文件,以对这些网络卡进行压力测试。此网络卡的压力测试方式建立策略转送表并提供策略转送手段,以解决上述的问题。
策略转送表具有一路由索引、每一个网络卡的网络卡索引、服务器路径以及路由。在发送的该测试文件中加入一策略信息,该策略信息包含一用户路径和其对应的该路由索引;
提供一策略转送手段,执行下列步骤:接收用户端所发送的测试文件以及策略信息,其中策略信息包含用户路径和其对应的路由索引,依据路由索引查阅策略转送表,以得到路由,而路由包括服务器路径以及指定的网络卡索引;依据用户路径以及服务器路径,经由被指定的网络卡将测试文件传送予服务器;经由被指定的网络卡接收服务器所传回的测试文件,其中服务器依据用户路径;以及服务器路径传回测试文件;以及将接收的测试文件传送予用户端。
其中上述的测试文件以及策略信息可由一测试人员指定。更详细地说,测试人员可依据压力测试的需求指定待测的服务器以及待传送的测试文件,再据此得到对应于待测的服务器的策略信息。
根据本发明的一实施范例,用户端与服务器通过一网络相连。根据本发明的另一实施范例,用户端与服务器通过一集线器相连。
此外,策略转送手段另可包括:在用户端将原始测试文件和服务器传回的测试文件进行对比,并据以输出对比结果。
综上所述,网络卡的压力测试方法藉由策略信息和策略转送手段的协同运作,由策略转送手段依据策略信息查找内建的策略转送表,获得欲进行测试的网络卡、用户路径以及服务器路径,进而在用户端与服务器之间通过指定的网络卡传送测试文件。如此一来,用户端可就可以对所有的网络卡进行测试文件的发送与接收以进行压力测试,而解决传统的测试方法的网络卡覆盖率不足的问题。
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域的技术人员了解本发明的技术内容并据以实施,且根据本说明书所公开的内容、权利要求及附图,任何本领域的技术人员可轻易地理解本发明相关的目的及优点。
本发明提供一种网络卡的压力测试方法适用于一用户端与一服务器之间,其中用户端具有多个网络卡(Network Interface Card,NIC)。请参照图1,其为根据本发明一实施范例的连接示意图。由图1可以见悉,用户端20与服务器22相连,且用户端20具有网络卡21a与网络卡21b,用户端20并可执行一策略转送手段24。
用户端20可为主机或桌上型计算机等计算器***,且同时具有多个网络卡21。如图1所示,用户端20具有网络卡21a以及网络卡21b,用户端20可藉由任一网络卡21收发数据。也就是说,用户端20通过其所具有的任一网络卡21均可连接因特网(Internet)、局域网(Local Area Network,LAN)或是其它计算器***。其中网络卡21a被用户端20设定为预设的网络卡21,故在收发数据的网络封包(packet)没特别指定的情况下,用户端20均通过网络卡21a收发数据。
服务器22亦可为计算机主机或是网络服务器等计算器***。服务器22具有一共享目录可供用户端20开启,且用户端20具有共享目录的读写权利。换句话说,用户端20可在共享目录内写入新的文件,亦可读取共享目录内的文件。
而用户端20与服务器22可通过因特网或是局域网等网络相连。更佳的是,用户端20与服务器22亦可通过一集线器(hub)相连,或是以跳线(cross over)的方式直接相连。根据本发明的一实施范例,用户端20与服务器22被配置于测试用的实验室或厂房,且用户端20与服务器22仅通过集线器相连以进行压力测试方法。
接下来请同时参照图2,为本发明的网络卡的压力测试方法的一实施范例的流程图。
由图2可以见悉,网络卡的压力测试方法可包括步骤S30:指定这些网络卡21之一;步骤S32:将一测试文件以及一策略信息发送给策略转送手段24;步骤S33:依据策略信息查找一策略转送表,以得到一用户路径以及一服务器路径;步骤S34:依据用户路径以及服务器路径,藉由被指定的网络卡将测试文件传送至服务器;步骤S36:令服务器将被传送的测试文件写入服务器;步骤S38:令服务器依据用户路径以及服务器路径将测试文件传送给用户端;步骤S40:藉由被指定的网络卡接收测试文件;步骤S42:对比原始的测试文件以及接收的测试文件;以及步骤S44:输出一对比结果。
用户端20具有一网络卡列表,表中记有每一网络卡21的一网络卡名称以及一网络卡索引。更佳的是,网络卡列表中另包括每一网络卡21的一媒体存取控制地址(Media Access Control address,MAC address,亦称为MAC地址)。
网络卡列表的内容举例如下:
网络卡名称 |
网络卡索引 |
网络卡的MAC地址 |
Eth1 |
1 |
00:23:18:66:05:F1 |
Eth2 |
2 |
00:23:18:66:05:F2 |
于是于步骤S30,可由用户端20所具有的多个网络卡21的中选择其一用以进行压力测试方法。于本实施范例中网络卡21b被指定,并且网络卡的压力测试方法使用网络卡21进行用户端20与服务器22之间的传输。接着于步骤S32,网络卡的压力测试方法将测试文件以及策略信息发送给策略转送手段24,以令策略转送手段24依据策略信息发送测试文件给服务器22。其中策略信息可以被加入于测试文件中,且策略信息可包含一用户路径和其对应的一路由索引。用户路径可包括用户端的一因特网协议地址(Internet Protocoladdress,IP address,亦称为IP地址)或IP网段;更佳的是,用户路径包括该用户端的MAC地址。举例而言,策略信息的内容可为[192.168.1.101/00:23:18:66:05:F1,1]。
因此发送的策略信息中,可通过用户路径和路由索引指定此次进行压力测试方法的网络卡21。更详细的说,网络卡的压力测试方法通过策略信息指示策略转送手段24以网络卡21b发送测试文件。
此外,上述的测试文件以及策略信息可由一测试人员指定。更详细地说,测试人员可依据压力测试的需求指定待测的服务器22以及待传送的测试文件,再据此得到对应于待测的服务器22的策略信息。于步骤S33,策略转送手段依据策略信息查找一策略转送表,以得到服务器路径及网络卡索引;并且于步骤S34,策略转送手段依据策略信息中的用户路径以及查询获得的服务器路径,经由被指定的网络卡将测试文件传送至服务器。
接收策略信息后,策略转送手段24依据策略信息内指定的网络卡索引查找策略转送表。策略转送表事先建立完成,以供策略转送手段24查找。策略转送表可包括路由索引以及一路由,而路由可包括服务器路径以及网络卡索引。其中服务器路径可包括服务器的IP地址或IP网段;更佳的是,服务器路径包括服务器的一连接端口(port)。
策略转送手段24接着并依据用户端20以及服务器22个自的IP地址发送对比文件。
策略转送表的内容举例如下:
路由索引 |
路由 |
1 |
[192.168.1.100:80,1] |
2 |
[192.168.1.100:80,2] |
藉由策略信息中指定的路由索引,能在策略转送表中查找出对应的路由。如此一来,能得到网络卡索引,以及需进行压力测试方法的网络卡21的MAC地址。依据网络卡21b的网络卡索引以及MAC地址,策略转送手段24便能指定网络卡21b进行发送测试文件的工作,而非由预设的网络卡21a进行发送。
策略转送表包括服务器22的IP地址或网段,因此策略转送手段24能依此IP地址/网段发送对比文件予服务器22。如此一来,藉由更改策略转送表内对应的服务器22的IP地址/网段,用户端20可与不同的服务器22进行压力测试方法,或是使不同的网络卡21与不同的服务器22进行压力测试方法。
依据策略信息以及策略转送表所提供的信息,策略转送手段24便能得到被指定的网络卡21b的IP地址/网段以及MAC地址作为用户端路径。相对的,服务器路径包括服务器22的IP地址/网段以及服务器22的连接端口。
若用户端20与服务器22为(通过集线器或跳线)直接相连,或是被配置于同一区网中,用户端20可藉由广播封包的网络机制获得服务器22的MAC地址。但服务器网络卡的MAC地址可与服务器22的IP地址一并内建于策略转送表中,以省却寻找服务器的MAC地址的时间。
得到用户路径以及服务器路径后,策略转送手段24通过被指定的网络卡21b将测试文件传送予服务器22。以因特网协议来看,当用户端20传送测试文件予服务器22时,用户端20为一来源端(source),而服务器为一目的端(destination)。策略转送手段24依据用户路径以及服务器路径,可将包含有测试文件的网络封包以符合因特网协议方式发送给服务器22。
服务器22收到测试文件后,于步骤S36将测试文件写入共享目录。接着于步骤S38,服务器22依据用户路径以及服务器路径,读取于步骤S36写入的测试文件并发送给用户端20。服务器22可解析用户端20传来的网络封包以获得用户路径与服务器路径,并以用户端20的被指定的网络卡21b的MAC地址将测试文件发送给被指定的网络卡21b。而当服务器22传送测试文件予用户端20时,此时用户端20为目的端,而服务器22方为来源端。
接着于步骤S40,网络卡的压力测试方法(用户端20)从被指定的网络卡21b接收测试文件。如此一来,可以避免用户端20均以预设的网络卡21a收发数据,而使得其它网络卡21不被利用到的情形。
网络卡的压力测试方法于步骤S42将原本的测试文件与于步骤S40中接收的测试文件进行对比,以确认上述用户端20与服务器22之间的联机是否正常。若对比结果相同,则网络卡的压力测试方法可于步骤S44输出“正确”作为对比结果;反之则可输出“错误”作为对比结果。
而根据本发明的一实施范例,网络卡的压力测试方法可重复上述步骤,以测试特定的网络卡是否能承受大量的数据存取操作,或是测试过程中性能是否有明显的下降。此外,根据本发明的另一实施范例,网络卡的压力测试方法对不同的网络卡重复进行压力测试,以达成所需的网络卡涵盖率以及压力测试。
综上所述,根据本发明的实施范例的网络卡的压力测试方法可藉由策略信息指定任一网络卡进行压力测试。网络卡的压力测试方法指定欲进行测试的网络卡,并发送策略信息予策略转送手段以告知被指定的网络卡。策略转送手段依据策略信息查找内建的策略转送表,获得用户路径以及服务器路径后,并可通过指定的网络卡传送数据于用户端与服务器之间。如此一来,用户端可使用任一网络卡进行收发数据以进行压力测试,而解决传统的测试方法的网络卡覆盖率不足的问题。