一种网络测试性能优化的方法

文档序号:8945633阅读:705来源:国知局
一种网络测试性能优化的方法
【技术领域】
[0001]本发明涉及网络测试及Linux内核领域,尤其涉及一种网络测试性能优化的方法。
【背景技术】
[0002]网络性能测量的五项指标可用性(availability)
响应时间(response time)
网络利用率(network utilizat1n)
网络吞吐量(network throughput)
网络带宽容量(network bandwidth capacity)
1.可用性
测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用ping命令。通过向远端的机器发送icmp echo request,并等待接收icmp echo reply来判断远端的机器是否连通,网络是否正常工作。
[0003]Ping命令有非常丰富的命令选项,比如-C可以指定发送echo request的个数,-s可以指定每次发送的ping包大小。
[0004]网络设备内部一般有多个缓冲池,不同的缓冲池使用不同的缓冲区大小,分别用来处理不同大小的分组(packet)。例如交换机中通常具有三种类型的包缓冲:一类针对小的分组,一类针对中等大小的分组,还有一类针对大的分组。为了测试这样的网络设备,测试工具必须要具有发送不同大小分组的能力。Ping命令的-S就可以使用在这种场合。
[0005]2.响应时间
Ping命令的echo request/reply 一次往返所花费时间就是响应时间。有很多因素会影响到响应时间,如网段的负荷,网络主机的负荷,广播风暴,工作不正常的网络设备等等。
[0006]在网络工作正常时,记录下正常的响应时间。当用户抱怨网络的反应时间慢时,就可以将现在的响应时间与正常的响应时间对比,如果两者差值的波动很大,就能说明网络设备存在故障。
[0007]3.网络利用率
网络利用率是指网络被使用的时间占总时间(即被使用的时间+空闲的时间)的比例。比如,Ethernet虽然是共享的,但同时却只能有一个报文在传输。因此在任一时刻,Ethernet或者是100%的利用率,或者是0%的利用率。
[0008]计算一个网段的网络利用率相对比较容易,但是确定一个网络的利用率就比较复杂。因此,网络测试工具一般使用网络吞吐量和网络带宽容量来确定网络中两个节点之间的性能。
[0009]4.网络吞吐量网络吞吐量是指在某个时刻,在网络中的两个节点之间,提供给网络应用的剩余带宽。
[0010]网络吞吐量可以帮组寻找网络路径中的瓶颈。比如,即使client和server都被分别连接到各自的100M Ethernet上,但是如果这两个100M的Ethernet被1M的Ethernet连接起来,那么1M的Ethernet就是网络的瓶颈。
[0011]网络吞吐量非常依赖于当前的网络负载情况。因此,为了得到正确的网络吞吐量,最好在不同时间(一天中的不同时刻,或者一周中不同的天)分别进行测试,只有这样才能得到对网络吞吐量的全面认识。
[0012]有些网络应用程序在开发过程的测试中能够正常运行,但是到实际的网络环境中却无法正常工作(由于没有足够的网络吞吐量)。这是因为测试只是在空闲的网络环境中,没有考虑到实际的网络环境中还存在着其它的各种网络流量。所以,网络吞吐量定义为剩余带宽是有实际意义的。
[0013]5.网络带宽容量
与网络吞吐量不同,网络带宽容量指的是在网络的两个节点之间的最大可用带宽。这是由组成网络的设备的能力所决定的。
[0014]测试网络带宽容量有两个困难之处:在网络存在其它网络流量的时候,如何得知网络的最大可用带宽;在测试过程中,如何对现有的网络流量不造成影响。网络测试工具一般采用packet pairs和packet trains技术来克服这样的困难。
[0015]Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk datatransfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。
[0016]Netperf工具以client/server方式工作。server端是net server,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
[0017]目前经常出现问题是网络性能下降,随着时间推移,网络速度不稳地且一直下降,远远低于标称网速,这对于服务器大规模部署应用造成致命影响。

【发明内容】

[0018]为了解决该问题,本发明提出了一种网络测试性能优化的方法。主要从三个个方面对网络性能进行优化:首先,在服务器和交换机之间允许大帧传输,因为协议数据单元的包头和包尾的长度是固定的,MTU越大,则一个协议数据单元的承载的有效数据就越长,通信效率也越高。MTU越大,传送相同的用户数据所需的数据包个数也越低。其次,用sysctl来优化内核配置,可以修改Linux的内核相关TCP/mem等核心参数,提高网络性能。最后用setpci来优化网卡的PCI配置,针对该网卡插入的PCI总线进行调整,通过优化PCI总线的MMRBC,提升总线上对爆发增长的处理能力。通过以上三种手段可以最大的压榨服务器的性能,提尚服务器的网络处理能力。
[0019]I)在服务器和交换机之间允许大帧传输
在开始任何压力测试前,需要禁止掉irqbanlace和cpuspeed。这样做可以获得最大的网络吞吐量以得到最好的压力测试结果。
[0020]service irqbalance stop service cpuspeed stop chkconfig irqbalance off chkconfig cpuspeed off
通过在网卡的配置文件增加一行,将MTU值设置为9000。
[0021]ifconfig eth2 mtu 9000 txqueuelen 1000 up
如果要让这个配置持久化,可以在网卡的配置文件中增加MTU的新值,将“eth2”换成你自己的网卡名字:
vim /etc/sysconfig/network-scripts/ifcfg-eth2MTU=,,9000" o
[0022]2)用sysctl来优化内核配置核心的内存配置:
net.core, rmem—max - max size of rx socket buffer net.core.wmem_max - max size of tx socket buffer net.core, rmem—default - default rx size of socket buffer net.core, wmem—default - default tx size of socket buffer net.core, optmem—max - maximum amount of opt1n memory
net.core, netdev—max_backlog - how many unprocessed rx packets beforekernel starts to drop them网络核心参数的修正# — tuning — #
#Increase system file descriptor limitfs.file-max = 65535
#Increase system IP port range to allow for more concurrent connect1nsnet.1pv4.1p_local—port—range = 1024 65000
#— 1gbe tuning from Intel ixgb driver README — #
#turn off selective ACK and timestampsnet.1pv4.tcp_sack = 0
net.1pv4.tcp_timestamps = 0
#memory allocat1n min/pressure/max.#read buffer, write buffer, and buffer spacenet.1pv4.tcp—rmem = 10000000 10000000 10000000net.1pv4.tcp—wmem = 10000000 10000000 10000000net.1pv4.tcp—mem = 10000000 10000000 10000000net.core, rmem—max = 524287
net.core, wmem—max = 524287net.core, rmem—default = 524287net.core, wmem—default = 524287net.core, optmem—max = 524287net.core.netdev—max—backlog = 300000o
[0023]3)用setpci来优化网卡的PCI配置
首先需要找到要调整的PCI总线地址,通过Ispci命令获取:
[chloeibiru Ispci
07:00.0 Ethernet controller:1ntel Corporat1n 82599EB 10-Gigabit SFI/SFP+
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1