CN114840337A - 一种云主机收包处理方法、装置、设备及介质 - Google Patents

一种云主机收包处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN114840337A
CN114840337A CN202210467046.9A CN202210467046A CN114840337A CN 114840337 A CN114840337 A CN 114840337A CN 202210467046 A CN202210467046 A CN 202210467046A CN 114840337 A CN114840337 A CN 114840337A
Authority
CN
China
Prior art keywords
packet receiving
batch processing
throughput rate
processing number
preset
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.)
Pending
Application number
CN202210467046.9A
Other languages
English (en)
Inventor
周俊宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210467046.9A priority Critical patent/CN114840337A/zh
Publication of CN114840337A publication Critical patent/CN114840337A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种云主机收包处理方法、装置、设备及介质,包括:根据云主机网口队列的收包批处理数收取数据包;确定本轮收取的所有所述数据包的大小总和以及收包时间;基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;根据所述吞吐率调整所述收包批处理数。这样,根据吞吐率自动调整收包批处理数,既避免了单包处理模式引发的吞吐率与PPS性能低的问题,又避免了静态批处理模式引入的云主机出现网络IO等待与时延高的问题,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。

Description

一种云主机收包处理方法、装置、设备及介质
技术领域
本申请涉及云计算服务技术领域,特别涉及一种云主机收包处理方法、装置、设备及介质。
背景技术
目前,云网络数据面的网络IO(即Input/Output,输入/输出)处理模式分为:单包处理模式和批处理模式。其中,单包处理模式即报文收发与处理流程中,一次函数调用只处理单个报文,结果是拉高每包处理开销,降低数据面处理能力与性能。典型代表是OvS-Kernel,采用单包处理模式,每包处理开销偏高,导致OvS-Kernel PPS(即Packet PerSecond(包/秒))转发能力比较低。批处理模式即报文收发与处理流程中,一次函数调用处理多个报文。那么根据“时间/空间局部性原理”可得知,批处理可以显著提高CPU Cache(即高速缓存)命中率,分摊函数调用时堆栈/寄存器组上下文切换的开销。典型代表是OvS-DPDK、VPP,但它们的批处理数均为静态值,并且批处理数均比较大(如:32或256),理论上能降低单包处理开销,提升CPU处理能力,提高网络吞吐,但会增加单包处理时延,增加网络时延。在云主机通信场景中,可能会存在大量较大的数据包,导致数据面需消耗大量CPU时钟去拷贝与处理,从而引发其他云主机出现网络IO等待与时延高等问题。而如果批处理数较小,则无法将批处理模式的价值最大化,从而无法有效提高云网数据面的转发能力。
综上可见,采用静态批处理数与单包处理方式都无法同时满足不同流量模型下网络高吞吐及低时延要求。
发明内容
有鉴于此,本申请的目的在于提供一种云主机收包处理方法、装置、设备及介质,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。其具体方案如下:
第一方面,本申请公开了一种云主机收包处理方法,包括:
根据云主机网口队列的收包批处理数收取数据包;
确定本轮收取的所有所述数据包的大小总和以及收包时间;
基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;
根据所述吞吐率调整所述收包批处理数。
可选的,所述根据所述吞吐率调整所述收包批处理数,包括:
判断所述吞吐率是否大于或等于预设吞吐率阈值;
若所述吞吐率大于或等于所述预设吞吐率阈值,则调低所述收包批处理数,若所述吞吐率小于所述预设吞吐率阈值且所述收包批处理数不为预设最大批处理数,基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数。
可选的,所述调低所述收包批处理数,包括:
根据所述吞吐率以及本轮收取所述数据包的个数确定出第一目标批处理数;
将所述收包批处理数调整为所述第一目标批处理数。
可选的,所述调低所述收包批处理数,包括:
将所述收包批处理数直接调整为预设最小批处理数。
可选的,所述基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数,包括:
若最近预设轮数的数据包收取轮中存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则根据预设调整策略调高所述收包批处理数;
若最近预设轮数的数据包收取轮中不存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则将所述收包批处理数直接调高为预设最大批处理数。
可选的,所述根据预设调整策略调高所述收包批处理数,包括:
根据所述吞吐率以及本轮收取所述数据包的个数确定第二目标批处理数,并将所述收包批处理数调整为所述第二目标批处理数;
或,将所述收包批处理数调高为预设批处理数。
可选的,还包括:
根据宿主机CPU性能和内存性能确定预设最小批处理数;
基于所述预设最小批处理数确定所述预设吞吐率阈值。
可选的,在所述根据云主机网口队列的收包批处理数收取数据包之前,还包括:
将所述收包批处理数初始化为预设最大批处理数。
第二方面,本申请公开了一种云主机收包处理装置,包括:
数据包收取模块,用于根据云主机网口队列的收包批处理数收取数据包;
数据和确定模块,用于确定本轮收取的所有所述数据包的大小总和;
收包时间确定模块,用于确定本轮收取所有所述数据包的收包时间;
吞吐率确定模块,用于基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;
批处理数调整模块,用于根据所述吞吐率调整所述收包批处理数。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现前述的云主机收包处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的云主机收包处理方法。
可见,本申请先根据云主机网口队列的收包批处理数收取数据包,并确定本轮收取的所有所述数据包的大小总和以及收包时间,之后基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率,然后根据所述吞吐率调整所述收包批处理数。也即,本申请在根据云主机网口队列的收包批处理数收取数据包的过程中,会根据每轮收取数据包的吞吐率实时的调整云主机网口队列的收包批处理数,从而在下一轮收取数据包时,根据调整后的收包批处理数进行数据包收取,这样,根据吞吐率自动调整收包批处理数,既避免了单包处理模式引发的吞吐率与PPS性能低的问题,又避免了静态批处理模式引入的云主机出现网络IO等待与时延高的问题,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种云主机收包处理方法流程图;
图2为本申请提供的一种具体的云主机收包处理流程图;
图3为本申请提供的一种云主机收包处理装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,数据面的网络IO采用单包处理模式时,每次函数调用只处理单个报文,导致每包处理开销偏高,导致数据面PPS转发能力比较低。数据面的网络IO采用批量处理模式时,批处理数为静态值,批处理数较大时,理论上能降低每包处理开销,然而云主机网络场景中可能会导致其他的云主机出现网络IO等待与时延高等问题,若批处理数较小,则无法将批处理模式的价值最大化,从而无法有效提高云网数据面的转发能力。为此,本申请实施例提供了一种云主机收包处理方案,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。
参见图1所示,本申请实施例公开了一种云主机收包处理方法,包括:
步骤S11:根据云主机网口队列的收包批处理数收取数据包。
在具体的实施方式中,本申请实施例可以在根据云主机网口队列的收包批处理数收取数据包之前,将所述收包批处理数初始化为预设最大批处理数。也即,本申请采用批处理模式进行收包处理,并首先将云主机网口队列的收包批处理数初始化为预设最大批处理数。
在一种实施方式中,预设最大批处理数可以为32,该数值为DPDK(即Data PlaneDevelopment Kit,数据平面开发套件)推荐值。DPDK可以极大提高数据处理性能和吞吐量,为数据平面应用程序提供更多CPU时间。
其中,云主机即一种可扩展的计算服务,支持用户自定义资源,如CPU、内存、硬盘、网络、安全等,并可在需求变化时轻松地调整,对用户表现为一个虚拟的服务器。而宿主机即云上的物理服务器,云主机运行的物理载体。
数据面即云网络数据转发面,根据预定义的转发规则对网络数据包进行处理,为云主机提供二层虚拟交换、三层虚拟路由与负载均衡等功能。
步骤S12:确定本轮收取的所有所述数据包的大小总和以及收包时间。
步骤S13:确定所述云主机网口队列本轮收取所述数据包的吞吐率。
在具体的实施方式中,可以统计云主机网口队列本轮收取的所有数据包大小的总和,以本轮收取所有数据的收包时间作为单位时间,得到本轮收取数据包的吞吐率。
需要指出的是,吞吐率表示单位时间内传输的数据量,通常单位是b/s(比特/秒)或B/s(字节/秒),可以用来评估网络的转发能力,吞吐率越高,转发能力也越高。本申请实施例将单位时间确定为一轮收取数据包的收包时间,那么一轮收取的所有所述数据包的大小总和即为一轮收取数据包的吞吐率。PPS表示以数据包为单位的传输速率,用来评估网络的转发能力,PPS越大,意味着转发能力也越高。
步骤S14:根据所述吞吐率调整所述收包批处理数。
在具体的实施方式中,本申请实施例可以判断所述吞吐率是否大于或等于预设吞吐率阈值;若所述吞吐率大于或等于所述预设吞吐率阈值,则调低所述收包批处理数,若所述吞吐率小于所述预设吞吐率阈值,且所述收包批处理数不为预设最大批处理数,则基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数。
其中,本申请实施例可以根据宿主机CPU性能和内存性能确定预设最小批处理数;并基于所述预设最小批处理数确定所述预设吞吐率阈值。具体的,可以根据宿主机CPU性能和内存性能计算宿主机CPU跨NUMA(即Non-Uniform Memory Access,非一致性内存访问)节点读取预设大小数据所耗费的时间,得到目标时间,基于目标时间确定预设最小批处理数,然后基于所述预设最小批处理数确定所述预设吞吐率阈值。也即,本申请实施例可以基于宿主机CPU性能和内存性能确定预设最小批处理数和预设吞吐率阈值。
需要指出的是,因宿主机的内存架构基本采用NUMA架构,每颗CPU拥有独立的内存控制器MC(即Memory Controller),而CPU间通过QPI(即QuickPath Interconnect,快速通道互联)/UPI(即Ultra Path Interconnect,超级通道互连)总线进行互联,当CPU访问其直连内存时,访存延迟最小,称作本地访问(local access),而访问其他CPU的直连内存时,访存延迟比较大,称作远端访问(remote access)。在NUMA架构中,CPU的内存访问有本地访存与远端访问的性能差异,因此,本申请实施例可以定义Tmem:CPU跨NUMA节点读取64KB内存数据所耗费的时间。进一步的,预设最小批处理数的计算公式为bmin=(64/Tmem),预设吞吐率阈值计算公式为Xmax=(bmin*64K)。netperf和iperf网络性能工具跑TCP(即TransmissionControl Protocol,传输控制协议)吞吐性能测试时,会发送大量64KB大小的包,因此本申请实施例将64K选为流控参考值。
在一种实施方式中,所述调低所述收包批处理数的具体包括:根据所述吞吐率以及本轮收取所述数据包的个数确定出第一目标批处理数;其中,所述第一目标批处理数小于所述预设最大批处理数,并大于或等于预设最小批处理数;将所述收包批处理数调整为所述第一目标批处理数。
在另一种实施方式中,所述调低所述收包批处理数的具体过程包括:将所述收包批处理数直接调整为预设最小批处理数。
也即,本申请实施例可以根据具体场景,在本轮收取所述数据包的吞吐率大于预设吞吐率阈值时,采用不同的批处理数调低策略。可以根据本轮收取数据包的吞吐率以及收取数据包的个数确定出待调整为的批处理数,也可以直接将收包批处理数直接调整为预设最小批处理数。
进一步的,在一种实施方式中,所述基于最近预设轮次收取数据包的所述吞吐率调高所述收包批处理数的具体过程包括:若最近预设轮数的数据包收取轮中存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则根据预设调整策略调高所述收包批处理数;若最近预设轮数的数据包收取轮中不存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则将所述收包批处理数直接调高为预设最大批处理数。并且,在具体的实施方式中,最近预设轮数可以为一次,也可以为多次。
其中,所述根据预设调整策略调高所述收包批处理数的具体过程:在一种实施方式中,可以根据所述吞吐率以及本轮收取所述数据包的个数确定第二目标批处理数,并将所述收包批处理数调整为所述第二目标批处理数。在另一种实施方式中,可以将所述收包批处理数调高为预设批处理数。当然,在其他实施方式中,也可以根据预设调整幅度调高所述收包批处理数。
例如,参见图2所示,本申请实施例公开了一种具体的云主机收包处理流程图。最小批处理数的计算公式:bmin=(64/Tmem),其中,Tmem为CPU跨NUMA节点读取64KB内存数据所耗费的时间。最大批处理数:bmax=32。最大吞吐率阈值计算公式:Xmax=(bmin*64K),由此得到最小处理数bmin、最大批处理数bmax,最大吞吐率阈值Xmax。云主机网口收包循环:(1)将云主机网口队列的收包批处理数初始化值为bmax。(2)网口收包循环发现任一轮收包的吞吐率达到最大吞吐率Xmax,则对网口队列的收包批处理数进行调整,同时结束收包循环。(3)若一轮收包的吞吐率小于最大吞吐率Xmax,则继续以bmax执行收包。其中,收包批处理数调整的具体过程为:若一轮收包的吞吐率大于等于最大吞吐率Xmax,则网口队列的批处理数调整为bmin;若一轮收包的吞吐率小于最大吞吐率Xmax,并且上一轮收包的吞吐率大于等于最大吞吐率Xmax,则网口队列的批处理数调整为2*bmin。若收包的吞吐率小于最大吞吐率Xmax,且网口队列的收包批处理数不等于bmax,则网口队列的批处理数调整为bmax
可见,本申请实施例先根据云主机网口队列的收包批处理数收取数据包,并确定本轮收取的所有所述数据包的大小总和以及收包时间,之后基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率,然后根据所述吞吐率调整所述收包批处理数。也即,本申请在根据云主机网口队列的收包批处理数收取数据包的过程中,会根据每轮收取数据包的吞吐率实时的调整云主机网口队列的收包批处理数,从而在下一轮收取数据包时,根据调整后的收包批处理数进行数据包收取,这样,根据吞吐率自动调整收包批处理数,既避免了单包处理模式引发的吞吐率与PPS性能低的问题,又避免了静态批处理模式引入的云主机出现网络IO等待与时延高的问题,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。
参见图3所示,本申请实施例公开了一种云主机收包处理装置,包括:
数据包收取模块11,用于根据云主机网口队列的收包批处理数收取数据包;
数据和确定模块12,用于确定本轮收取的所有所述数据包的大小总和;
收包时间确定模块13,用于确定本轮收取所有所述数据包的收包时间;
吞吐率确定模块14,用于基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;
批处理数调整模块15,用于根据所述吞吐率调整所述收包批处理数。
可见,本申请实施例先根据云主机网口队列的收包批处理数收取数据包,并确定本轮收取的所有所述数据包的大小总和以及收包时间,之后基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率,然后根据所述吞吐率调整所述收包批处理数。也即,本申请在根据云主机网口队列的收包批处理数收取数据包的过程中,会根据每轮收取数据包的吞吐率实时的调整云主机网口队列的收包批处理数,从而在下一轮收取数据包时,根据调整后的收包批处理数进行数据包收取,这样,根据吞吐率自动调整收包批处理数,既避免了单包处理模式引发的吞吐率与PPS性能低的问题,又避免了静态批处理模式引入的云主机出现网络IO等待与时延高的问题,能够在提升云主机网络IO的吞吐率与PPS性能的同时,满足降低网络IO等待频率及时延的要求,从而提升云网络数据面性能。
其中,批处理数调整模块13,具体包括:
吞吐率判断子模块,用于判断所述吞吐率是否大于或等于预设吞吐率阈值;
第一批处理数调整子模块,用于若吞吐率判断子模块判定所述吞吐率大于或等于所述预设吞吐率阈值,则调低所述收包批处理数;
第二批处理数调整子模块,用于若吞吐率判断子模块判定所述吞吐率小于所述预设吞吐率阈值且所述收包批处理数不为预设最大批处理数,则基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数。
在一种具体的实施方式中,第一批处理数调整子模块,具体包括:
第一目标批处理数确定单元,用于根据所述吞吐率以及本轮收取所述数据包的个数确定出第一目标批处理数;
第一目标批处理数调整单元,用于将所述收包批处理数调整为所述第一目标批处理数。
在另一种具体的实施方式中,第一批处理数调整子模块,具体用于:
将所述收包批处理数直接调整为预设最小批处理数。
在具体的实施方式中,第二批处理数调整子模块,具体包括:
历史吞吐率判断单元,用于判断最近预设轮数的数据包收取轮中是否存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮;
第一批处理数调整单元,用于若最近预设轮数的数据包收取轮中存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则根据预设调整策略调高所述收包批处理数;
第二批处理数调整单元,用于若最近预设轮数的数据包收取轮中不存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则将所述收包批处理数直接调高为预设最大批处理数。
在一种具体的实施方式中,第一批处理数调整单元,用于根据所述吞吐率以及本轮收取所述数据包的个数确定第二目标批处理数,并将所述收包批处理数调整为所述第二目标批处理数;
在另一种具体的实施方式中,第一批处理数调整单元,用于将所述收包批处理数调高为预设批处理数。
进一步的,所述装置还包括:
预设最小批处理数确定模块,用于根据宿主机CPU性能和内存性能确定预设最小批处理数;
预设吞吐率阈值确定模块,用于基于所述预设最小批处理数确定所述预设吞吐率阈值。
并且,所述装置还包括收包批处理数初始化模块,用于在所述根据云主机网口队列的收包批处理数收取数据包之前,将所述收包批处理数初始化为预设最大批处理数。
进一步的,本申请实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的云主机收包处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的云主机收包处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的云主机收包处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种云主机收包处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种云主机收包处理方法,其特征在于,包括:
根据云主机网口队列的收包批处理数收取数据包;
确定本轮收取的所有所述数据包的大小总和以及收包时间;
基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;
根据所述吞吐率调整所述收包批处理数。
2.根据权利要求1所述的云主机收包处理方法,其特征在于,所述根据所述吞吐率调整所述收包批处理数,包括:
判断所述吞吐率是否大于或等于预设吞吐率阈值;
若所述吞吐率大于或等于所述预设吞吐率阈值,则调低所述收包批处理数;若所述吞吐率小于所述预设吞吐率阈值,且所述收包批处理数不为预设最大批处理数,则基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数。
3.根据权利要求2所述的云主机收包处理方法,其特征在于,所述调低所述收包批处理数,包括:
根据所述吞吐率以及本轮收取所述数据包的个数确定出第一目标批处理数;
将所述收包批处理数调整为所述第一目标批处理数。
4.根据权利要求2所述的云主机收包处理方法,其特征在于,所述调低所述收包批处理数,包括:
将所述收包批处理数直接调整为预设最小批处理数。
5.根据权利要求2所述的云主机收包处理方法,其特征在于,所述基于最近预设轮数的数据包收取轮的所述吞吐率调高所述收包批处理数,包括:
若最近预设轮数的数据包收取轮中存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则根据预设调整策略调高所述收包批处理数;
若最近预设轮数的数据包收取轮中不存在所述吞吐率大于或等于所述预设吞吐率阈值的数据包收取轮,则将所述收包批处理数直接调高为预设最大批处理数。
6.根据权利要求5所述的云主机收包处理方法,其特征在于,所述根据预设调整策略调高所述收包批处理数,包括:
根据所述吞吐率以及本轮收取所述数据包的个数确定第二目标批处理数,并将所述收包批处理数调整为所述第二目标批处理数;
或,将所述收包批处理数调高为预设批处理数。
7.根据权利要求2至6任一项所述的云主机收包处理方法,其特征在于,还包括:
根据宿主机CPU性能和内存性能确定预设最小批处理数;
基于所述预设最小批处理数确定所述预设吞吐率阈值。
8.一种云主机收包处理装置,其特征在于,包括:
数据包收取模块,用于根据云主机网口队列的收包批处理数收取数据包;
数据和确定模块,用于确定本轮收取的所有所述数据包的大小总和;
收包时间确定模块,用于确定本轮收取所有所述数据包的收包时间;
吞吐率确定模块,用于基于所述大小总和以及所述收包时间确定所述云主机网口队列本轮收取所述数据包的吞吐率;
批处理数调整模块,用于根据所述吞吐率调整所述收包批处理数。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的云主机收包处理方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的云主机收包处理方法。
CN202210467046.9A 2022-04-29 2022-04-29 一种云主机收包处理方法、装置、设备及介质 Pending CN114840337A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210467046.9A CN114840337A (zh) 2022-04-29 2022-04-29 一种云主机收包处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210467046.9A CN114840337A (zh) 2022-04-29 2022-04-29 一种云主机收包处理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114840337A true CN114840337A (zh) 2022-08-02

Family

ID=82567891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210467046.9A Pending CN114840337A (zh) 2022-04-29 2022-04-29 一种云主机收包处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114840337A (zh)

Similar Documents

Publication Publication Date Title
US11422839B2 (en) Network policy implementation with multiple interfaces
US9985908B2 (en) Adaptive bandwidth control with defined priorities for different networks
US6988156B2 (en) System and method for dynamically tuning interrupt coalescing parameters
US20240195740A1 (en) Receiver-based precision congestion control
US7826351B2 (en) MMPP analysis of network traffic using a transition window
CN110602156A (zh) 一种负载均衡调度方法及装置
EP3371938B1 (en) Adaptive subscriber-driven resource allocation for push-based monitoring
CN107645407B (zh) 一种适配QoS的方法和装置
WO2023050901A1 (zh) 一种负载均衡方法、装置、设备、计算机存储介质和程序
WO2017025021A1 (zh) 一种处理流表的方法及装置
US8732263B2 (en) Self clocking interrupt generation in a network interface card
WO2018004978A1 (en) Technologies for adaptive routing using network traffic characterization
US20220311711A1 (en) Congestion control based on network telemetry
US20210216371A1 (en) Low latency distributed counters for quotas
CN114840337A (zh) 一种云主机收包处理方法、装置、设备及介质
CN114785739A (zh) 逻辑卷服务质量的控制方法、装置、设备及介质
JP2001265678A (ja) コネクションレス・プロトコルを使用したフラッド攻撃防止方法
JP2022166934A (ja) 情報処理装置、過負荷制御プログラムおよび過負荷制御方法
US7646724B2 (en) Dynamic blocking in a shared host-network interface
WO2022126411A1 (zh) 一种网络拥塞管理方法以及相关装置
CN115378872B (zh) 一种流量控制方法、系统、计算机设备及可读存储介质
JP6491944B2 (ja) パケット処理装置、及びプログラム
WO2016028268A1 (en) Send buffer based on messaging traffic load
Kontogiannis et al. Probing based load balancing for web server farms
CN113157456A (zh) 一种适用于云环境的分布式无状态半开扫描方法

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