CN113300874B - 网络性能检测系统及方法 - Google Patents
网络性能检测系统及方法 Download PDFInfo
- Publication number
- CN113300874B CN113300874B CN202110177749.3A CN202110177749A CN113300874B CN 113300874 B CN113300874 B CN 113300874B CN 202110177749 A CN202110177749 A CN 202110177749A CN 113300874 B CN113300874 B CN 113300874B
- Authority
- CN
- China
- Prior art keywords
- time
- network
- processing request
- request
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 356
- 230000005540 biological transmission Effects 0.000 claims abstract description 93
- 238000005259 measurement Methods 0.000 claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 46
- 230000009471 action Effects 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书提供网络性能检测系统及方法,其中所述网络性能检测系统包括:处理应用和网卡;处理应用,被配置为接收网络往返时间测量指令;根据测量指令创建第一处理请求和第二处理请求,并将第一处理请求和第二处理请求发送至网卡;网卡,被配置为根据第一处理请求创建携带有第一时间的完成请求,并发送至处理应用;将第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据响应指令创建携带有第二时间的完成请求,并发送至处理应用;处理应用,还被配置为根据携带有第一时间的完成请求和携带有第二时间的完成请求计算网络往返时间,并根据网络往返时间确定与第二服务端的网络传输性能。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及网络性能检测系统及方法。
背景技术
数据中心网络越来越多的使用RDMA(Remote Direct Memory Access,远程直接数据存取),来实现分布式计算和分布式存储的高性能网络传输服务,而RDMA为了能够解决底层硬件上的拥塞问题,通常会使用DCQCN(Data Center Quantized CongestionNotification)来作为拥塞控制算法,该算法能实现利用交换机对发生拥塞时的数据包打标的功能;在接收方网卡反馈报文给发送方网卡,发送方网卡会根据收到的报文的频率和数量在拥塞控制算法作为输入,输出调整后的发送速率,该算法依赖打标信号,在大规模通信场景下存在可扩展性的问题,无法同时对所有的流量进行速率调整。而另一种常用的拥塞控制信号RTT(Round-Trip Time,网络往返时间),该信号可以反映流量在网络上的排队请求,也即网络上的拥塞状态;然而测量RTT的精准度受到各方面影响,不仅无法精准的测量出RTT,还会影响反映网络上拥塞状态的准确性,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书实施例提供了网络性能检测系统。本说明书同时涉及网络性能检测方法,网络性能检测装置,计算设备,以及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种网络性能检测系统,应用于第一服务端,包括:
处理应用和网卡;
所述处理应用,被配置为接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡;
所述网卡,被配置为根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用;
所述处理应用,还被配置为根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能。
可选地,所述处理应用进一步被配置为:
根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
可选地,所述网卡进一步被配置为:
对所述第一处理请求进行解析获得所述空指令操作码;根据所述空指令操作码读取硬件时间戳作为所述第一时间,以及根据所述空指令操作码生成第一完成请求;将所述第一时间添加至所述第一完成请求获得携带有所述第一时间的完成请求。
可选地,所述网卡进一步被配置为:
对所述第二处理请求进行解析获得所述待传输数据和所述动作指令操作码;根据所述动作指令操作码和所述待传输数据组装协议栈头域,并向所述第二服务端发送携带有所述协议栈头域的目标处理请求。
可选地,所述网卡进一步被配置为:
接收所述第二服务端针对所述目标处理请求返回的所述响应指令;根据所述响应指令读取硬件时间戳作为所述第二时间,以及根据所述响应指令生成第二完成请求;将所述第二时间添加至所述第二完成请求获得携带有所述第二时间的完成请求。
可选地,所述处理应用进一步被配置为:
接收携带有所述第一时间的完成请求和携带有所述第二时间的完成请求;提取所述第一时间和所述第二时间,并计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
可选地,所述处理应用,还被配置为:
确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;根据调整结果生成调整指令,并将所述调整指令发送至所述网卡;
相应的,所述网卡,还被配置为接收所述调整指令,并根据所述调整指令调整网络带宽。
可选地,所述处理应用为发送方应用,所述网卡为发送方网卡;相应的,所述待传输数据为设定数目字节的数据。
根据本说明书实施例的第二方面,提供了一种网络性能检测方法,应用于第一服务端,包括:
处理应用和网卡;
所述处理应用接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡;
所述网卡根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用;
所述处理应用根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能。
根据本说明书实施例的第三方面,提供了一种网络性能检测方法,包括:
接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
将所述第一处理请求和所述第二处理请求发送至所述网卡;
接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求;
根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能。
根据本说明书实施例的第四方面,提供了一种网络性能检测装置,包括:
创建模块,被配置为接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
发送模块,被配置为将所述第一处理请求和所述第二处理请求发送至所述网卡;
接收模块,被配置为接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求;
确定模块,被配置为根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能。
根据本说明书实施例的第五方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现所述网络性能检测方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述网络性能检测方法的步骤。
本说明书提供一种网络性能检测系统,在第一服务端的处理应用接收到网络往返时间测量指令的情况下,将根据该测量指令创建第一处理请求和第二处理请求,以用于精准的测量网络往返时间,之后将第一处理请求和第二处理请求先后发送至第一服务端的网卡,所述网卡将根据优先接收到的第一处理请求创建携带第一时间的完成请求,并反馈至处理应用;再接收第二处理请求,并将第二处理请求发送至第二服务端,接收所述第二服务端针对第二处理请求反馈的响应指令,此时根据该响应指令创建携带第二时间的完成请求,并反馈至处理应用,最后处理应用即可根据完成请求中的第一时间和第二时间计算出所述网络往返时间,用于确定所述第一服务端和所述第二服务端之间的网络传输性能,实现了通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
附图说明
图1是本说明书一实施例提供的一种网络性能检测系统的结构示意图;
图2是本说明书一实施例提供的一种数据传输过程的示意图;
图3是本说明书一实施例提供的另一种数据传输过程的示意图;
图4是本说明书一实施例提供的一种应用于网络往返时间计算场景中的网络性能检测系统的结构示意图;
图5是本说明书一实施例提供的一种网络性能检测方法的处理流程图;
图6是本说明书一实施例提供的另一种网络性能检测方法的处理流程图;
图7是本说明书一实施例提供的一种网络性能检测装置的结构示意图;
图8是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
RDMA:(Remote Direct Memory Access,远程直接数据存取)为了解决网络传输中服务器端数据处理的延迟而产生;RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能;RDMA支持三种队列,发送队列(SQ,Send Queue)和接收队列(RQ,Receive Queue),完成队列(CQ,Completion Queue)。其中,发送队列和接收队列通常成对创建,被称为Queue Pairs(QP)。
协议栈:(Protocol Stack),又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。
CQ(Completion Queue):一个包含CQE的队列;CQE(Completion Queue Entry),CQ中的一个记录,它描述了已完成的WR的信息(状态,大小等);WR(Work Request),用户提交至WQ(工作队列)的一个请求;WQ(Work Queue),SQ或RQ中的一种;WQE(Work QueueElement),WQ中的一个元素。
RC(Reliable Connection,可靠连接):基于面向连接的QP传输服务,一个QP与另一个QP相关联,两者之间的信息传输是可靠的,具体体现在数据的正确性和顺序性。
DCQCN(Data Center Quantized Congestion Notification,拥塞控制算法):数据中心量化拥塞通知,是一种拥塞控制算法,利用交换机对数据包打ECN标记,产生CNP报文来通知发送方网络拥塞状态。
ECN(Explicit congestion notification,显式拥塞通知):IP报文的一个字段,交换机在发生拥塞时,可以对IP报文的该字段进行设置ECN标记。
CNP(Congestion Notification Protocol,拥塞通知协议):接收方网卡在收到的IP报文中检测出ECN标记后,可以在IB协议层构造一个CNP包,返回给发送方网卡
RTT(Round-Trip Time,网络往返时间):在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
在本说明书中,提供了一种网络性能检测系统,本说明书同时涉及两种网络性能检测方法,一种网络性能检测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,通过计算第一服务端和第二服务端之间的RTT(Round-Trip Time,网络往返时间)能够直观的反映出网络上的拥塞状态,并且基于网络RTT的流控算法在广域网上呈现了独特的优势,可以及时的感知网络的变化,快速的收敛到当前最大可用的网络带宽。当前RDMA使用协议栈卸载到硬件来提供端到端低延迟网络服务,使用网络连接QP(Queue Pairs,队列对)和请求WQE(Work Queue Element,工作队列元素)来给应用提供网络服务接口。
基于此,参见图2所示的一种数据传输过程的结构示意图,在第一服务端以第二服务端进行数据RDMARC数据传输时,首先发送方应用将向网卡写请求,通过把数据信息打包到WQE并写到QP中,同时向网卡硬件发起数据传输请求,网卡收到QP的请求后将通过DMA,来将WQE包含的数据通过PCle从内存中读取到网卡硬件缓存上,然后对数据进行协议封装,并通过队列调度将数据发送出去,最终收到第二服务端发送回来的ACK(Acknowledgecharacter,确认字符),表示第一服务端中的发送方应用和第二服务端中的接收方应用的数据传输完毕,第一服务端中的发送方网卡将向QP关联的CQ中写入一个CQE(CompletionQueue Entry,完成队列条目)来通知发送方应用对应的WQE请求处理结束,应用通过轮询CQ来感知数据的传输结束。
而服务器侧的应用从QP上发送数据的过程中,包含了应用写WQE到QP的时间,硬件响应请求时间,内存DMA(Direct Memory Access,直接内存访问)时间,协议处理时间,网络传输时间,网络往返时间,硬件写CQE时间,应用轮询CQE时间;整个过程中软件层只能够感知应用写WQE到QP时间和轮询CQE时间,因此软件层无法告知网络往返时间,使得在反映网络拥塞状态时,无法精准的对网络上的拥塞状态进行表达,进而影响第一服务端的调整发送速率的精准度,因此精准的计算网络往返时间显着尤为重要。
本说明书提供一种网络性能检测系统,在第一服务端的处理应用接收到网络往返时间测量指令的情况下,将根据该测量指令创建第一处理请求和第二处理请求,以用于精准的测量网络往返时间,之后将第一处理请求和第二处理请求先后发送至第一服务端的网卡,所述网卡将根据优先接收到的第一处理请求创建携带第一时间的完成请求,并反馈至处理应用;再接收第二处理请求,并将第二处理请求发送至第二服务端,接收所述第二服务端针对第二处理请求反馈的响应指令,此时根据该响应指令创建携带第二时间的完成请求,并反馈至处理应用,最后处理应用即可根据完成请求中的第一时间和第二时间计算出所述网络往返时间,用于确定所述第一服务端和所述第二服务端之间的网络传输性能,实现了通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
图1示出了根据本说明书一实施例提供的一种网络性能检测系统100的结构示意图,应用于第一服务端,包括处理应用110和网卡120;
所述处理应用110,被配置为接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡120;
所述网卡120,被配置为根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用110;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用110;
所述处理应用110,还被配置为根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能。
具体的,所述第一服务端具体是指分布式系统中的任意服务器,相应的,所述第二服务端具体是指与所述第一服务端具有网络传输关系的服务器,所述第一服务端和所述第二服务端之间建立RDMARC网络连接,实现提高网络传输性能的同时保证数据的传输准确性和顺序性。所述处理应用110具体是指所述第一服务端中的发送方应用,所述处理应用为软件模块;相应的,所述网卡120具体是指所述第一服务端中的发送方网卡,所述网卡为硬件模块。
基于此,所述测量指令具体是指所述第一服务端中的处理应用110接收到的,测量第一服务端中网卡120与第二服务端中的网卡之间的网络往返时间的指令;所述第一处理请求具体是指测量网络往返时间时用于触发读取第一时间的请求,所述第二处理请求具体是指测量网络往返时间时用于触发读取第二时间的请求;所述第一时间具体是指所述网卡120处理所述第一处理请求时读取硬件时间戳得到的时间;所述第二时间具体是指所述网卡120接收到所述第二服务端反馈响应指令时读取硬件时间戳得到的时间;相应的,所述网络往返时间具体是指第一服务端中网卡120与第二服务端中的网卡之间的网络传输往返时间;所述网络传输性能具体是指所述第二服务端与所述第一服务端之间的传输效率,拥塞状态,数据传输速率等信息。
进一步的,所述第一服务端与所述第二服务端在进行数据传输时,由于传输频率较快,并且传输的数据量波动较大,因此需要每隔一段时间就进行网络传输拥塞状态的确定,如果拥塞程度较高,就需要降低第一服务端的发送速率,以避免拥塞程度变得更加严重;如果拥塞程度较低或未发生拥塞,就需要提高第一服务端的发送速率,以实现充分的利用传输资源;而反映拥塞状态的直观参数即为网络往返时间,网络往返时间越小,说明拥塞程度越低,网络往返时间越大,说明拥塞程度越高,因此精准的计算所述网络往返时间是确定网络拥塞状态的重要手段。
基于此,当需要测量第一服务端和接收服务段的网络往返时间的情况下,第一服务端中的处理应用110件接收到网络往返时间的测量指令,此时为了能够通过软硬结合的方式提高测量网络往返时间的精准度,可以根据所述测量指令创建第一处理请求和第二处理请求,需要说明的是,第一处理请求与第二处理请求前后连接,并且第一处理请求的发送优先级大于第二处理请求,即在创建完成第一处理请求和第二处理请求之后,将优先向网卡120发送所述第一处理请求,之后再发送所述第二处理请求。
所述网卡120在接收到所述第一处理请求之后,将优先对所述第一处理请求进行处理,由于所述第一处理请求是处理应用110为了测量网络往返时间创建的,并且所述第一处理请求是为了记录发送时间的,因此网卡120在接收到所述第一处理请求后,将立即记录所述第一时间,以及创建完成请求,之后将所述第一时间写入所述完成请求中并向所述处理应用110进行反馈;当第一处理请求处理完成之后,所述网卡120将继续处理第二处理请求,由于所述第二处理请求是为了记录接收时间的,因此网卡120在开始处理所述第二处理请求时,将立即向所述第二服务端发送所述第二处理请求,即针对所述第二处理请求向所述第二服务端发送测试请求;而所述第二服务端在接收到所述测试请求之后,会向所述第一服务端反馈所述响应指令,此时第一服务端中的网卡120即可根据接收到的所述响应指令记录第二时间,以及创建完成请求,之后将所述第二时间写入所述完成请求中并向并向所述处理应用110进行反馈即可。
需要说明的,由于第一处理请求和第二处理请求是连续被网卡120进行处理的,因此可以将第二处理请求开始被处理时刻记录为第一处理请求处理完成时刻,即第二处理请求的开始处理时间即为第一处理请求被处理完成的时间。
最后,所述第一服务端中的处理应用110将接收到携带所述第一时间的完成请求和携带所述第二时间的完成请求,此时处理应用110即可确定携带所述第一时间的完成请求是响应于所述第一处理请求,携带所述第二时间的完成请求是响应于所述第二处理请求,之后通过计算所述第一时间和所述第二时间的差值,即可得到所述第一服务端中的网卡120与所述第二服务端中的网卡二者之间的网络往返时间,通过所述网络往返时间即可得到分析出所述第一服务端和所述第二服务端之间的网络传输性能,实现在后续的优化过程中,可以根据网络传输性能对发送数据速率等进行调整,实现充分利用网络传输资源的情况下,保证传输性能最大化。
实际应用中,所述处理应用为发送方应用,所述网卡为发送方网卡;相应的,所述待传输数据为设定数目字节的数据。
进一步的,由于网络往返时间是根据第一时间和第二时间计算获得,而所述第一时间和所述第二时间是根据所述第一处理请求和所述第二处理请求得到,因此所述第一处理请求和所述第二处理请求的创建将决定着是否能够成功的对网络往返时间进行测量的基础,本实施例中,所述第一处理请求和所述第二处理请求的创建过程如下所述:
所述处理应用110进一步被配置为:根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
具体的,所述空指令操作码具体是指不作任何操作的操作码NOP,所述动作指令操作码具体是指能够与所述第二服务端进行交互的操作码,如SEND操作码、READ操作码或WRITE操作码等;所述预设的测量规则具体是指创建设定字节长度的待传输数据,相应的,所述待传输数据具体是指用于测量网络往返时间所使用的数据,所述待传输数据的字节长度为0字节,即数据长度为0。
基于此,由于所述网卡120在与第二服务端进行网络传输时,通常会对处理应用110的处理请求对应的数据进行封装后再发送,因此为了能够通过两次请求对网络往返时间进行测量,将针对性创建所述第一处理请求和所述第二处理请求,以此进行网络往返时间的测量,即在所述处理应用110接收到网络往返时间测量指令的情况下,将根据所述测量指令创建所述空指令操作码和所述动作指令操作码,同时根据预设的测量规则生成所述待传输数据,基于所述空指令操作码即可生成所述第一处理请求,用于告知所述网卡120进行第一时间的记录;以及根据所述动作指令操作码和所述待传输数据生成所述第二处理请求,用于告知所述网卡120在进行数据传输后根据第二服务端的响应记录第二时间。
例如,分布式系统中包含分布式节点1,分布式节点2……分布式节点n,而分布式节点1中的服务器S1与分布式节点2中的服务器S2具有网络传输关系,即分布式节点1中的服务器S1为第一服务端,分布式节点2中的服务器S2为第二服务端,并且第一服务端中的发送方应用与第二服务端中的接收方应用已经建立了RDMARC并连接QP,并建立CQ,在CQ上可以使用读取时间戳的能力;基于此,当需要测量发送方应用与接收方应用在QP1上的网络RTT时,此时将根据测量网络RTT的测量指令创建空指令操作码NOP,用于表示不需要进行任何操作,即根据操作码NOP创建第一处理请求WQE;同时根据预设的测量规则生成0字节的待传输数据,以及创建操作码SEND,用于表示需要与接收方应用进行网络传输,即根据0字节的待传输数据和操作码SEND创建第二处理请求WQE;之后将第一处理请求WQE作为在先处理请求,以及将第二处理请求WQE作为在后处理请求,并按照先后顺序连续发送至发送方网卡,即先发送第一处理请求WQE,再发送第二处理请求WQE。
综上,所述处理应用110通过创建不需要操作的第一处理请求和0字节的第二处理请求发送至所述网卡120,实现在后续处理的过程中,可以精准的记录第一时间和第二时间,提高所述网络往返时间的计算精准度。
进一步的,在向所述网卡120连续发送所述第一处理请求和所述第二处理请求之后,所述网卡将根据处理请求的先后接收顺序进行相应的处理,本实施例中,具体实现方式如下所述:
所述网卡120进一步被配置为:对所述第一处理请求进行解析获得所述空指令操作码;根据所述空指令操作码读取硬件时间戳作为所述第一时间,以及根据所述空指令操作码生成第一完成请求;将所述第一时间添加至所述第一完成请求获得携带有所述第一时间的完成请求。
具体的,由于所述处理应用110在发送所述第一处理请求和所述第二处理请求是有先后顺序的,因此所述网卡120在接收所述第一处理请求和所述第二处理请求也是有先后顺序的,即先发送先接收,后发送后接收;基于此,所述网卡120将优先接收所述第一处理请求,并对所述第一处理请求进行解析,获得所述空指令操作码,此时网卡120在识别到所述第一处理请求中的操作码为空指令操作码的情况下,将立即读取硬件时间戳作为第一时间,并创建第一完成请求,之后将所述第一时间添加至所述第一完成请求中,获得携带有所述第一时间的完成请求向所述处理应用110进行反馈。
实际应用中,由于网卡在读取时间戳和创建完成请求将在纳秒级别完成,而网络往返时间的计算在微秒级别,因此网卡记录所述第一时间并生成所述完成请求的过程将花费较低的时间,要远远小于网络往返时间的计算,因此可以忽略生成携带有所述第一时间的完成请求的时间,并且该过程所花费的时间并不会对计算网络往返时间产生影响。
此外,由于所述网卡120在处理第一处理请求和第二处理请求时,是连续完成处理,因此可以将所述第一时间作为所述网卡120向所述第二服务端发送所述第二处理请求的时间。
更进一步的,所述网卡120在完成所述第一处理请求的处理操作之后,会立即接收所述第二处理请求,并继续对所述第二处理请求进行相应的处理,并且由于所述第一处理请求和所述第二处理请求不属于相同的请求类型,因此所述网卡120在处理所述第二处理请求时,将采用不同于处理所述第一处理请求时的操作进行,本实施例中,具体实现方式如下所述:
所述网卡120进一步被配置为:对所述第二处理请求进行解析获得所述待传输数据和所述动作指令操作码;根据所述动作指令操作码和所述待传输数据组装协议栈头域,并向所述第二服务端发送携带有所述协议栈头域的目标处理请求。
具体的,所述网卡120在完成对所述第一处理请求的处理之后,将立即提取所述第二处理请求,并对所述第二处理请求进行处理;即对所述第二处理请求进行解析,获得所述第二处理请求中的所述待传输数据和所述动作指令操作码,并且由于所述待传输数据是根据预设的测量规则(0字节的数据)生成,因此传输处理应用120会根据所述待传输数据和所述动作指令操作码组装协议栈头域,并向所述第二服务端发送携带有所述协议栈头域的目标处理请求,即第一服务端中的网卡120不传输有效的payload数据,仅仅传输所述网卡120协议栈的header(头域)部分,用于表示在第一服务端和第二服务端之间进行一次ping操作,并在完成第二服务端针对目标处理请求返回响应指令时,读取相应的硬件时间戳作为所述第二时间,以使得所述处理应用110可以计算出所述网络往返时间。
实际应用中,由于硬件(网卡)在封装数据时的时间在纳秒级别,而网络往返时间的计算精准度在微秒级别,封装时间的粒度要远远小于网络往返时间的粒度,因此可以对封装过程所花费的时间进行忽略,从而保证网络往返时间在微秒级别的精准度。
沿用上例,当发送方应用向发送方网卡传输第一处理请求WQE和第二处理请求WQE后,发送方网卡将优先接收到第一处理请求WQE,此时发送方网卡通过对第一处理请求WQE进行解析,获得空指令操作码NOP,说明不需要进行传输前的封装处理操作,则立即读取硬件时间戳timestamp作为第一时间T1即可;同时根据空指令操作码NOP将生成响应第一处理请求WQE的第一完成请求CQE,并将第一时间T1添加至第一完成请求CQE中,获得携带有第一时间T1的完成请求CQE并发送至发送方应用。
进一步的,发送方网卡将继续处理第二处理请求WQE,通过对第二处理请求WQE进行解析,获得待传输数据和操作码SEND,发送方网卡通过检测确定待传输数据是0字节的数据,则立刻根据待传输数据和操作码SEND组装协议栈头部,即仅仅传输网卡协议栈的header部分,并向接收方网卡发送携带有协议栈的header部分的目标处理请求,以等待接收方网卡的反馈,用于后续计算QP1上的网络RTT。
综上,所述网卡120在处理所述第一处理请求时间立即记录所述第一时间,实现可以精准对第一服务端与第二服务端的网络往返时间中的发送时间进行记录,有效的保证了后续计算所述网络往返时间的精准度;并且根据所述待传输数据和所述动作指令操作码组装携带有协议栈头域的目标处理请求,可以进一步的降低封装时的误差,从而更进一步的提高了计算网络往返时间的精准度。
当所述网卡120针对所述第二处理请求完成相应的操作之后,将向所述第二服务端发送携带有所述协议栈头域的目标处理请求,所述第二服务端中的网卡在经过一定的时间后,将接收到所述目标处理请求,此时将向所述第一服务端中的网卡120返回响应指令,用于表示数据传输完毕,当所述网卡接收到所述第二服务端针对所述目标处理请求返回的响应指令之后,将立即记录所述第二时间,并生成携带有所述第二时间的完成请求,本实施例中,具体实现方式如下所述:
所述网卡120进一步被配置为:接收所述第二服务端针对所述目标处理请求返回的所述响应指令;根据所述响应指令读取硬件时间戳作为所述第二时间,以及根据所述响应指令生成第二完成请求;将所述第二时间添加至所述第二完成请求获得携带有所述第二时间的完成请求。
具体的,所述网卡120在完成所述目标处理请求的发送之后,将继续处理所述接下来的其他处理请求,而所述第二服务端中的网卡在处理完成所述目标处理请求后,将向所述第一服务端中的网卡120返回响应指令,此时网卡120将立即读取硬件时间戳作为所述第二时间,用于表示接收时间;之后将根据所述响应指令生成所述第二完成请求,并将所述第二时间添加至所述第二完成请求中,获得携带有所述第二时间的完成请求向所述处理应用110进行反馈。
更进一步的,当携带有所述第一时间的完成请求和携带有所述第二时间的完成请求反馈到所述处理应用110之后,所述处理应用即可根据所述第一时间和所述第二时间计算出所述网络往返时间,本实施例中,具体实现方式如下所述:
所述处理应用110进一步被配置为:接收携带有所述第一时间的完成请求和携带有所述第二时间的完成请求;提取所述第一时间和所述第二时间,并计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
具体的,当所述处理应用110接收到携带有所述第一时间的完成请求,以及携带有所述第二时间的完成请求之后,此时即可通过轮询CQ的方式确定响应于所述第一处理请求的完成请求(携带所述第一时间),以及确定响应所述第二处理请求的完成请求(携带所述第二时间);之后通过提取所述第一时间和所述第二时间并计算二者的差值,即可得到所述第二服务端和所述第一服务端之间的网络往返时间。
沿用上例,参见图3所示的另一种数据传输过程的示意图,发送方应用在需要测量网络RTT时,将向发送方网卡发送第一处理请求WQE和第二处理请求WQE,之后由于第一处理请求WQE是基于NOP生成,网卡将直接针对第一处理请求WQE生成携带有第一时间T1的完成请求CQE,并反馈至发送方应用;同时开始处理第二处理请求WQE,通过协议栈头部进行封装后传输到接收方网卡,接收方网卡此时接收到0字节的待传输数据之后,会立即向发送方网卡返回ACK,发送方网卡接收到ACK后将立即生成携带有第二时间T2的完成请求CQE,并反馈到发送方应用。
进一步的,当发送方应用通过轮询CQ即可得到第一时间T1和第二时间T2,通过计算T2与T1的差值,记得得到发送方应用和接收方应用针对QP1的网络RTT=T2-T1,并且网络RTT的时间精度在微秒级别。
综上,通过采用硬件时间戳的方式对第一时间和第二时间进行记录,并通过软件层面对网络往返时间进行计算,可以实现软硬结合的方式精准的对所述网络往返时间进行确定,不仅可以保证精准度,还能够直观的反馈出网络传输时的拥塞程度,以作出更加符合传输需求的调整。
在完成所述网络往返时间的计算之后,为了能够提高所述第一服务端和所述第二服务端之间的网络传输效率,以及提高传输资源的利用率,还可以根据所述网络往返时间对网络传输性能进行调整,本实施例中,具体实现方式如下所述:
所述处理应用110,还被配置为:确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;根据调整结果生成调整指令,并将所述调整指令发送至所述网卡120;
相应的,所述网卡120,还被配置为接收所述调整指令,并根据所述调整指令调整网络带宽。
具体的,当确定所述网络往返时间之后,即可根据所述网络往返时间对网卡120的发送频率进行调整;首先确定所述网络传输性能中的数据发送频率,并判断所述网络往返时间是否大于预设阈值,若大于,说明第一服务端和第二服务端之间的拥塞程度较大,则需要降低所述数据发送频率;若小于等于,说明第一服务端和第二服务端之间的拥塞程度较小,则需要提高所述数据发送频率或保持数据发送频率,从而保证网卡120可以利用最大的带宽进行数据的传输;其次对所述数据发送频率调整完成之后,将根据调整结果向所述网卡120发送调整指令,用于对所述网卡120能够利用的带宽进行调整,从而保证数据传输效率的同时,充分的对传输资源进行利用。
沿用上例,当确定发送方应用和接收方应用的网络RTT之后,此时将根据网络RTT对发送方应用的数据发送速率进行调整,若网络RTT大于预设时间阈值,则说明发送方应用和接收方应用的网络拥塞程度较大,可以降低发送方应用的数据发送速率,以缓解网络传输压力;若网络RTT小于等于预设时间阈值,则说明发送方应用和接收方应用的网络拥塞程度较小,可以适当提高发送方应用的数据发送速率,以实现快速的收敛到当前最大可用的网络带宽,提高数据传输效率的同时,充分利用网络传输资源。
本说明书提供一种网络性能检测系统,在第一服务端的处理应用接收到网络往返时间测量指令的情况下,将根据该测量指令创建第一处理请求和第二处理请求,以用于精准的测量网络往返时间,之后将第一处理请求和第二处理请求先后发送至第一服务端的网卡,所述网卡将根据优先接收到的第一处理请求创建携带第一时间的完成请求,并反馈至处理应用;再接收第二处理请求,并将第二处理请求发送至第二服务端,接收所述第二服务端针对第二处理请求反馈的响应指令,此时根据该响应指令创建携带第二时间的完成请求,并反馈至处理应用,最后处理应用即可根据完成请求中的第一时间和第二时间计算出所述网络往返时间,用于确定所述第一服务端和所述第二服务端之间的网络传输性能,实现了通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
下述结合附图4,以本说明书提供的网络性能检测系统在网络往返时间计算中的应用为例,对所述网络性能检测系统进行进一步说明。其中,图4示出了本说明书一实施例提供的一种应用于网络往返时间计算场景中的网络性能检测系统的结构示意图,具体包括以下步骤:
步骤S402,发送方应用基于操作码NOP创建第一个WQE,以及基于零字节数据和操作码SEND创建第二个WQE。
步骤S404,发送方应用向发送方网卡依次发送第一个WQE和第二个WQE。
步骤S406,发送方网卡接收第一个WQE,并基于第一个WQE中的操作码NOP产生第一时间和第一个CQE。
步骤S408,发送方网卡将第一时间添加到第一个CQE中,并将携带第一时间的CQE发送至发送方应用。
步骤S410,发送方网卡接收第二个WQE,并基于第二个WQE中的操作码SEND和零字节数据组装网卡协议栈头域部分。
步骤S412,发送方网卡向接收方网卡发送携带有网卡协议栈头域部分的目标处理请求。
步骤S414,接收端网卡接收携带有网卡协议栈头域部分的目标处理请求,并针对目标处理请求向发送方网卡返回ACK。
步骤S416,发送方网卡接收到ACK,并根据ACK产生第二时间和第二个CQE。
步骤S418,发送方网卡将第二时间添加至第二个CQE中,并将携带第二时间的CQE发送至发送方应用。
步骤S420,发送方应用轮询CQ,获得携带第一时间的CQE和携带第二时间的CQE。
步骤S422,发送方应用计算第二时间和第一时间的差值,获得发送方应用和接收方应用的网络RTT。
综上所述,通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
图5示出了根据本说明书一实施例提供的一种网络性能检测方法的处理流程图,应用于第一服务端,所述第一服务端包括处理应用和网卡,具体实现方式如下所述:
步骤S502,所述处理应用接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡;
步骤S504,所述网卡根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用;
步骤S506,所述处理应用根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能。
一个可选的实施例中,所述处理应用,包括:
根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
一个可选的实施例中,所述网卡,包括:
对所述第一处理请求进行解析获得所述空指令操作码;根据所述空指令操作码读取硬件时间戳作为所述第一时间,以及根据所述空指令操作码生成第一完成请求;将所述第一时间添加至所述第一完成请求获得携带有所述第一时间的完成请求。
一个可选的实施例中,所述网卡,包括:
对所述第二处理请求进行解析获得所述待传输数据和所述动作指令操作码;根据所述动作指令操作码和所述待传输数据组装协议栈头域,并向所述第二服务端发送携带有所述协议栈头域的目标处理请求。
一个可选的实施例中,所述网卡,包括:
接收所述第二服务端针对所述目标处理请求返回的所述响应指令;根据所述响应指令读取硬件时间戳作为所述第二时间,以及根据所述响应指令生成第二完成请求;将所述第二时间添加至所述第二完成请求获得携带有所述第二时间的完成请求。
一个可选的实施例中,所述处理应用,包括:
接收携带有所述第一时间的完成请求和携带有所述第二时间的完成请求;提取所述第一时间和所述第二时间,并计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
一个可选的实施例中,所述处理应用,还包括:
确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;根据调整结果生成调整指令,并将所述调整指令发送至所述网卡;
相应的,所述网卡,还被配置为接收所述调整指令,并根据所述调整指令调整网络带宽。
一个可选的实施例中,所述处理应用为发送方应用,所述网卡为发送方网卡;相应的,所述待传输数据为设定数目字节的数据。
本实施例提供的网络性能检测方法,在第一服务端的处理应用接收到网络往返时间测量指令的情况下,将根据该测量指令创建第一处理请求和第二处理请求,以用于精准的测量网络往返时间,之后将第一处理请求和第二处理请求先后发送至第一服务端的网卡,所述网卡将根据优先接收到的第一处理请求创建携带第一时间的完成请求,并反馈至处理应用;再接收第二处理请求,并将第二处理请求发送至第二服务端,接收所述第二服务端针对第二处理请求反馈的响应指令,此时根据该响应指令创建携带第二时间的完成请求,并反馈至处理应用,最后处理应用即可根据完成请求中的第一时间和第二时间计算出所述网络往返时间,用于确定所述第一服务端和所述第二服务端之间的网络传输性能,实现了通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
上述为本实施例的一种网络性能检测方法的示意性方案。需要说明的是,该网络性能检测方法的技术方案与上述的网络性能检测系统的技术方案属于同一构思,网络性能检测方法的技术方案未详细描述的细节内容,均可以参见上述网络性能检测系统的技术方案的描述。
本实施例还提供了一种应用于处理应用的网络性能检测方法,图6示出了根据本说明书一实施例提供的另一种网络性能检测方法的处理流程图,具体实现方式如下所述:
步骤S602,接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
步骤S604,将所述第一处理请求和所述第二处理请求发送至所述网卡;
步骤S606,接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求;
步骤S608,根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能。
一个可选的实施例中,所述根据所述测量指令创建第一处理请求和第二处理请求,包括:
根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
一个可选的实施例中,所述根据所述第一时间和所述第二时间计算网络往返时间,包括:
计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
一个可选的实施例中,所述网络性能检测方法,还包括:
确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;
根据调整结果生成调整指令,并将所述调整指令发送至所述网卡。
本实施例提供的另一种网络性能检测方法,通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
上述为本实施例的另一种网络性能检测方法的示意性方案。需要说明的是,该网络性能检测方法的技术方案与上述的网络性能检测系统的技术方案属于同一构思,网络性能检测方法的技术方案未详细描述的细节内容,均可以参见上述网络性能检测系统的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了一种网络性能检测装置实施例,图7示出了本说明书一实施例提供的一种网络性能检测装置的结构示意图。如图7所示,该装置包括:
创建模块702,被配置为接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
发送模块704,被配置为将所述第一处理请求和所述第二处理请求发送至所述网卡;
接收模块706,被配置为接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求;
确定模块708,被配置为根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能。
一个可选的实施例中,所述创建模块702进一步被配置为:
根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
一个可选的实施例中,所述确定模块708进一步被配置为:
计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
一个可选的实施例中,所述网络性能检测装置,还包括:
调整单元,被配置为确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;根据调整结果生成调整指令,并将所述调整指令发送至所述网卡。
本实施例提供的一种网络性能检测装置,通过配置时间戳的方式对网络往返时间进行计算,不仅可以保证网络往返时间的计算精准度,还能够直观的反映出网络上的拥塞状态,实现网卡可以及时对传输速率进行调整,从而有效的控制网络上的拥塞问题。
上述为本实施例的一种网络性能检测装置的示意性方案。需要说明的是,该网络性能检测装置的技术方案与上述的网络性能检测方法的技术方案属于同一构思,网络性能检测装置的技术方案未详细描述的细节内容,均可以参见上述网络性能检测方法的技术方案的描述。
图8示出了根据本说明书一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令网络性能检测方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的网络性能检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述网络性能检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于网络性能检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的网络性能检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述网络性能检测方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (12)
1.一种网络性能检测系统,应用于第一服务端,包括:
处理应用和网卡;
所述处理应用,被配置为接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡;
所述网卡,被配置为根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用,其中,所述述第一时间为所述网卡处理所述第一处理请求时读取硬件时间戳得到的时间,所述第二时间为所述网卡接收到所述第二服务端反馈响应指令时读取硬件时间戳得到的时间;
所述处理应用,还被配置为根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能;
其中,所述处理应用进一步被配置为:根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
2.根据权利要求1所述的网络性能检测系统,所述网卡进一步被配置为:
对所述第一处理请求进行解析获得所述空指令操作码;根据所述空指令操作码读取硬件时间戳作为所述第一时间,以及根据所述空指令操作码生成第一完成请求;将所述第一时间添加至所述第一完成请求获得携带有所述第一时间的完成请求。
3.根据权利要求2所述的网络性能检测系统,所述网卡进一步被配置为:
对所述第二处理请求进行解析获得所述待传输数据和所述动作指令操作码;根据所述动作指令操作码和所述待传输数据组装协议栈头域,并向所述第二服务端发送携带有所述协议栈头域的目标处理请求。
4.根据权利要求3所述的网络性能检测系统,所述网卡进一步被配置为:
接收所述第二服务端针对所述目标处理请求返回的所述响应指令;根据所述响应指令读取硬件时间戳作为所述第二时间,以及根据所述响应指令生成第二完成请求;将所述第二时间添加至所述第二完成请求获得携带有所述第二时间的完成请求。
5.根据权利要求4所述的网络性能检测系统,所述处理应用进一步被配置为:
接收携带有所述第一时间的完成请求和携带有所述第二时间的完成请求;提取所述第一时间和所述第二时间,并计算所述第二时间和所述第一时间二者的差值,获得所述网络往返时间。
6.根据权利要求1所述的网络性能检测系统,所述处理应用,还被配置为:
确定所述网络传输性能中的数据发送频率,并根据所述网络往返时间对所述数据发送频率进行调整;根据调整结果生成调整指令,并将所述调整指令发送至所述网卡;
相应的,所述网卡,还被配置为接收所述调整指令,并根据所述调整指令调整网络带宽。
7.根据权利要求1所述的网络性能检测系统,所述处理应用为发送方应用,所述网卡为发送方网卡;相应的,所述待传输数据为设定数目字节的数据。
8.一种网络性能检测方法,应用于第一服务端,包括:
处理应用和网卡;
所述处理应用接收网络往返时间测量指令;根据所述测量指令创建第一处理请求和第二处理请求,并将所述第一处理请求和所述第二处理请求发送至所述网卡;
所述网卡根据所述第一处理请求创建携带有第一时间的完成请求,并发送至所述处理应用;将所述第二处理请求发送至第二服务端,并接收所述第二服务端返回的响应指令;根据所述响应指令创建携带有第二时间的完成请求,并发送至所述处理应用,其中,所述述第一时间为所述网卡处理所述第一处理请求时读取硬件时间戳得到的时间,所述第二时间为所述网卡接收到所述第二服务端反馈响应指令时读取硬件时间戳得到的时间;
所述处理应用根据携带有所述第一时间的完成请求和携带有所述第二时间的完成请求计算网络往返时间,并根据所述网络往返时间确定与所述第二服务端的网络传输性能;
其中,所述处理应用根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
9.一种网络性能检测方法,包括:
接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
将所述第一处理请求和所述第二处理请求发送至网卡;
接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求,其中,所述述第一时间为所述网卡处理所述第一处理请求时读取硬件时间戳得到的时间,所述第二时间为所述网卡接收第二服务端反馈响应指令时读取硬件时间戳得到的时间;
根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能;
其中,根据所述测量指令创建第一处理请求和第二处理请求包括:根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
10.一种网络性能检测装置,包括:
创建模块,被配置为接收网络往返时间测量指令,并根据所述测量指令创建第一处理请求和第二处理请求;
发送模块,被配置为将所述第一处理请求和所述第二处理请求发送至网卡;
接收模块,被配置为接收所述网卡针对所述第一处理请求返回的携带有第一时间的完成请求,以及针对所述第二处理请求返回的携带有第二时间的完成请求,其中,所述述第一时间为所述网卡处理所述第一处理请求时读取硬件时间戳得到的时间,所述第二时间为所述网卡接收第二服务端反馈响应指令时读取硬件时间戳得到的时间;
确定模块,被配置为根据所述第一时间和所述第二时间计算网络往返时间,并根据所述网络往返时间确定与第二服务端的网络传输性能;
其中,根据所述测量指令创建第一处理请求和第二处理请求包括:根据所述测量指令创建空指令操作码和动作指令操作码,并根据预设的测量规则生成待传输数据;基于所述空指令操作码生成所述第一处理请求,以及基于所述动作指令操作码和所述待传输数据生成所述第二处理请求。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求8和9所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求8和9项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110177749.3A CN113300874B (zh) | 2021-02-09 | 2021-02-09 | 网络性能检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110177749.3A CN113300874B (zh) | 2021-02-09 | 2021-02-09 | 网络性能检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300874A CN113300874A (zh) | 2021-08-24 |
CN113300874B true CN113300874B (zh) | 2024-04-19 |
Family
ID=77319090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110177749.3A Active CN113300874B (zh) | 2021-02-09 | 2021-02-09 | 网络性能检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300874B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009026020A (ja) * | 2007-07-19 | 2009-02-05 | Hitachi Information Systems Ltd | 負荷試験システムおよび負荷試験データ作成方法、ならびにそのプログラム |
CN103503357A (zh) * | 2011-03-04 | 2014-01-08 | 黑莓有限公司 | 控制网络设备的行为 |
US9177153B1 (en) * | 2005-10-07 | 2015-11-03 | Carnegie Mellon University | Verifying integrity and guaranteeing execution of code on untrusted computer platform |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN108430069A (zh) * | 2018-02-11 | 2018-08-21 | 重庆邮电大学 | 一种v2x网络性能测试及综合评价分析方法 |
CN109075997A (zh) * | 2016-04-21 | 2018-12-21 | 思科技术公司 | 互联网协议流量的跳式延迟和往返时间的分布式无状态推断 |
CN109547574A (zh) * | 2019-01-04 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种数据传输方法及相关装置 |
CN109818826A (zh) * | 2019-01-11 | 2019-05-28 | 西安电子科技大学工程技术研究院有限公司 | 一种网络路径延迟测量方法及其装置与时间同步系统 |
CN111817977A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种网络拥塞控制方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2234333B1 (en) * | 2009-03-23 | 2015-07-15 | Corvil Limited | System and method for estimation of round trip times within a tcp based data network |
US9961157B2 (en) * | 2014-11-11 | 2018-05-01 | Dell Products L.P. | Adaptive compression management for web services |
-
2021
- 2021-02-09 CN CN202110177749.3A patent/CN113300874B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177153B1 (en) * | 2005-10-07 | 2015-11-03 | Carnegie Mellon University | Verifying integrity and guaranteeing execution of code on untrusted computer platform |
JP2009026020A (ja) * | 2007-07-19 | 2009-02-05 | Hitachi Information Systems Ltd | 負荷試験システムおよび負荷試験データ作成方法、ならびにそのプログラム |
CN103503357A (zh) * | 2011-03-04 | 2014-01-08 | 黑莓有限公司 | 控制网络设备的行为 |
CN109075997A (zh) * | 2016-04-21 | 2018-12-21 | 思科技术公司 | 互联网协议流量的跳式延迟和往返时间的分布式无状态推断 |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN108430069A (zh) * | 2018-02-11 | 2018-08-21 | 重庆邮电大学 | 一种v2x网络性能测试及综合评价分析方法 |
CN109547574A (zh) * | 2019-01-04 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种数据传输方法及相关装置 |
CN109818826A (zh) * | 2019-01-11 | 2019-05-28 | 西安电子科技大学工程技术研究院有限公司 | 一种网络路径延迟测量方法及其装置与时间同步系统 |
CN111817977A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种网络拥塞控制方法和装置 |
Non-Patent Citations (4)
Title |
---|
A Neural Network Based User Identification for Tor Networks: Data Analysis Using Friedman Test;Taro Ishitaki等;《2016 30th International Conference on Advanced Information Networking and Applications Workshops (WAINA)》;全文 * |
分布式并行服务器中的高性能通信研究;唐续, 刘心松, 杨峰, 刘谐;电子科技大学学报;20050425(第02期);全文 * |
基于双向路径的RTT算法研究;袁琴;沈明玉;;合肥工业大学学报(自然科学版)(第01期);全文 * |
基于网络驱动接口规范的网络时延测量位置误差消除方法;陈世强;周旭;王俊峰;唐晖;;计算机应用(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113300874A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934340B2 (en) | Multi-path RDMA transmission | |
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
WO2021008473A1 (zh) | 一种评估往返时延的系统、方法及装置 | |
CN108881008B (zh) | 一种数据传输的方法、装置和系统 | |
CN109768939B (zh) | 一种支持优先级的标签化网络栈方法和系统 | |
CN111817977B (zh) | 一种网络拥塞控制方法和装置 | |
US11671210B2 (en) | Retransmission control method, communications interface, and electronic device | |
CN113300817B (zh) | 数据传输方法以及装置 | |
CN116582492B (zh) | 优化rdma读取的拥塞控制方法、系统及存储介质 | |
US8289963B2 (en) | Process and system for calculating distances between wireless nodes | |
CN113300818B (zh) | 数据传输系统及方法 | |
CN113300874B (zh) | 网络性能检测系统及方法 | |
US9544401B2 (en) | Device and method for data communication using a transmission ring buffer | |
CN116303173B (zh) | 减少rdma引擎片上缓存的方法、装置、系统及芯片 | |
US11115308B2 (en) | System and method for congestion control using time difference congestion notification | |
CN104780117A (zh) | 一种网络拥塞信息的获取方法和装置 | |
CN113300967B (zh) | Rdma网络传输方法、装置以及rdma网络通信系统 | |
US9906331B2 (en) | Communication method, information processing apparatus and recording medium | |
CN113300971B (zh) | 数据处理系统及方法 | |
US20140237136A1 (en) | Communication system, communication controller, communication control method, and medium | |
CN112866897A (zh) | 一种定位测量方法、终端和网络节点 | |
EP1744495B1 (en) | Round trip time estimation | |
Liu et al. | Self-adaptive path selection scheme in Concurrent Multipath Transfer | |
CN113300971A (zh) | 数据处理系统及方法 | |
JP2018067788A (ja) | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40058616 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |