System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机网络领域,具体来说是一种测试物理服务器网络带宽的方法。
技术介绍
1、国产服务器国产cpu如雨后春笋般发展起来。快速发展带来的影响就是服务器的性能参差不齐,各厂商的优化,散热,配置等存在很大的差异。对于各中小企业服务器采购,以及云厂商的服务器采购带来了更大的挑战。服务器采购前的适配测试就显得尤为重要。测试的越准确,今后因为性能发生的问题概率就会越低。
2、在我们的服务器采购中,服务器的性能应该作为采购的重要指导之一。但是物理机的性能并不是可以简单获取到的。例如本专利中所论述的物理服务器的网络带宽性能。影响服务器网络性能的原因有很多,基于不同的cpu,不同的物理网卡,内存性能,总线等等会使得网络性能存在很大差异。即使相同的配置服务器,最终的性能也会有很大的差异。现在跨结点的虚拟化资源相互访问离不开物理机的网络性能。只有物理机网络性能足够优秀,才能保证支撑复杂的业务。
3、iperf3是一个tcp、udp和sctp网络带宽测量工具。是用于主动测量ip网络上可达到的最大带宽的工具。它支持调整与时序,协议和缓冲区有关的各种参数。对于每个测试,它都会报告测得的吞吐量/比特率,损耗和其他参数。是测试带宽的最佳工具。iperf3有多个版本。支持linux,windows等主流的操作系统。
4、现有的方法存在以下缺点:
5、常规测试中,iperf3无法打满大规格的网络,并且udp丢包严重,无法准确测试出实际的网络性能。
技术实现思路
< ...【技术保护点】
1.一种测试物理服务器网络带宽的方法,其特征在于:Iperf3是一个单线程测试工具,-P指定之后也只是开启了多个流,最终使用的还是单个线程,所以测试时要使用多进程,才能保证iperf3打满物理机网络,在单个的iperf3进程时,经过测试,Intel 5318的cpu最高只能打到16GBITS/SEC左右,鲲鹏920cpu最高15GBITS/SEC左右,海光77380和飞腾2000+,飞腾S2500的测试结果更低,在做了bond4之后的10GBITS/SEC网卡下,理论可以达到接近于20GBITS/SEC的带宽,以上CPU单进程无法打满理论带宽,更没有办法衡量物理机网络,在本方案的测试中,同时开启多个进程,绑定不同的端口,用&放在后台进行执行,将测试结果保存下来,通过脚本进行累加,带宽总数即为物理机网络的带宽数,丢包率需要平均,这里建议使用-b0G,让他自己调节带宽的大小,-P指定多个流,防止因为内存读写缓冲区的原因造成内存的溢出。
2.根据权利要求1所述的一种测试物理服务器网络带宽的方法,其特征在于:使在测试前应该开始cpu的性能模式,防止因为处于节能模式,c
3.根据权利要求1所述的一种测试物理服务器网络带宽的方法,其特征在于:现在的常规网卡都支持RSS(Receive Side ScalinGbits/sec),RSS是一个通过数据包的元组信息将数据包散列到不同网卡队列的功能,这时候不同的CPU再去对应的网卡队列读取数据进行处理,就可以充分利用CPU资源,默认RSS的哈希算法是只支持源IP,目的IP的,因为我们测试的时候,是一台client,一台server,进行打流的时候源IP和目的IP都是保持不变的,这个时候多进程是没有用的,最终都会进入一个网卡队列,被一个cpu处理,结果和单进程是相同的,在udp测试中,还会导致丢包率升高,我们通过修改ethtool-N网卡名rx-flow-hashudp4 sdfn,将网卡的RSS hash规格改为源IP,目的IP,源端口,目的端口,可以根据测试需要进行修改tcp4,udp4,tcp6,udp6。
4.根据权利要求1所述的一种测试物理服务器网络带宽的方法,其特征在于:大多数物理机在bios开启成性能模式之后,会开启超线程模式,平时云厂商也会使用超线程来使整体性能提高,即一个cpu对应两个虚拟cpu,在进行网络测试时,如果经过hash之后进入的queue是相同的cpu虚拟出来的两个cpu,会导致带宽上不去,udp丢包率非常高,但是网卡同时也支持Flow Director,该技术是Intel公司提出的根据包的字段精确匹配,将其分配到某个特定队列的技术:网卡上存储了一个Flow Director的表,表的大小受硬件资源限制,它记录了需要匹配字段的关键字及匹配后的动作;驱动负责操作这张表,包括初始化、增加表项、删除表项;网卡从线上收到数据包后根据关键字查Flow Director的这张表,匹配后按照表项中的动作处理,可以是分配队列、丢弃等,Flow Director的优先级是高于RSS的,所以我们可以指定,不同端口的流量过来让他打到指定的queue,被指定的cpu进行软中断处理。
5.根据权利要求4所述的一种测试物理服务器网络带宽的方法,其特征在于:在使用前需要先开启网卡的Flow Director功能,使用命令:sudo ethtool–k网卡|grep ntuple,查看是否开启,返回ntuple-filters:off则没有开启功能,需要执行sudo ethtool-K网卡ntuple on开启,如果返回ntuple-filters:on则表示已开启,ethtool-U网卡flow-typeudp4 dst-port端口action队列号,可以将指定端口的流打到该队列下,进而被指定的cpu进行处理,我们的iperf3测试工具也可以指定-A,来绑核,确保iperf3使用的cpu和用来接受流量的cpu不在一起,并且让他们间隔开,不要被超线程影响,在client端可以设置client和ser...
【技术特征摘要】
1.一种测试物理服务器网络带宽的方法,其特征在于:iperf3是一个单线程测试工具,-p指定之后也只是开启了多个流,最终使用的还是单个线程,所以测试时要使用多进程,才能保证iperf3打满物理机网络,在单个的iperf3进程时,经过测试,intel 5318的cpu最高只能打到16gbits/sec左右,鲲鹏920cpu最高15gbits/sec左右,海光77380和飞腾2000+,飞腾s2500的测试结果更低,在做了bond4之后的10gbits/sec网卡下,理论可以达到接近于20gbits/sec的带宽,以上cpu单进程无法打满理论带宽,更没有办法衡量物理机网络,在本方案的测试中,同时开启多个进程,绑定不同的端口,用&放在后台进行执行,将测试结果保存下来,通过脚本进行累加,带宽总数即为物理机网络的带宽数,丢包率需要平均,这里建议使用-b0g,让他自己调节带宽的大小,-p指定多个流,防止因为内存读写缓冲区的原因造成内存的溢出。
2.根据权利要求1所述的一种测试物理服务器网络带宽的方法,其特征在于:使在测试前应该开始cpu的性能模式,防止因为处于节能模式,cpu频率较低的时候,使得测试结果不准确,现在通过biso设置performance模式,不一定会将cpu设置为最高频率,有些服务器在空载一段时间后还会自动设置为节能模式,在此模式下测试的数据不管是带宽还是延迟都会非常低,cpufrequtils是一个cpu调节工具,可以使用命令cpufreq-set-g performance将cpu调节到性能模式,在96个cpu的物理机中,可以使用:for((i=0;i<96;i++));do sudocpufreq-set-c${i}-g performance;done将所有的cpu开启性能模式。
3.根据权利要求1所述的一种测试物理服务器网络带宽的方法,其特征在于:现在的常规网卡都支持rss(receive side scalingbits/sec),rss是一个通过数据包的元组信息将数据包散列到不同网卡队列的功能,这时候不同的cpu再去对应的网卡队列读取数据进行处理,就可以充分利用cpu资源,默认rss的哈希算法是只支持源ip,目的ip的,因为我们测试的时候,是一台client,一台server,进行打流的时候源ip和目的ip都是保持不变的,这个时候多进程是没有用的,最终都会进入一个网卡队列,被一个cpu处理,结果和单进程是相同的,在udp测试中,还会导致丢...
【专利技术属性】
技术研发人员:张琪琪,田茂宇,蒋豪禹,尹萍,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。