CN115858152A - 一种基于单端口的dns负载均衡性能优化方案 - Google Patents

一种基于单端口的dns负载均衡性能优化方案 Download PDF

Info

Publication number
CN115858152A
CN115858152A CN202211495702.2A CN202211495702A CN115858152A CN 115858152 A CN115858152 A CN 115858152A CN 202211495702 A CN202211495702 A CN 202211495702A CN 115858152 A CN115858152 A CN 115858152A
Authority
CN
China
Prior art keywords
data
core
cpu
hash
network
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.)
Granted
Application number
CN202211495702.2A
Other languages
English (en)
Other versions
CN115858152B (zh
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.)
Beijing Testor Technology Co ltd
Original Assignee
Beijing Testor Technology 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 Beijing Testor Technology Co ltd filed Critical Beijing Testor Technology Co ltd
Priority to CN202211495702.2A priority Critical patent/CN115858152B/zh
Publication of CN115858152A publication Critical patent/CN115858152A/zh
Application granted granted Critical
Publication of CN115858152B publication Critical patent/CN115858152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于单端口的DNS负载均衡性能优化方案,涉及DNS负载均衡性能优化方案领域,本发明包括以下步骤:步骤一、对单一服务端口使用对称RSS技术对网络数据进行分流;步骤二、利用CPU亲和性对多核多线程绑定分离;步骤三、对收到的实时数据按同源同溯机制分流。本发明通过对称RSS技术,对网络数据分发进行优化,平衡CPU多个逻辑核的处理压力,实现负载均衡,提高网络流量采集性能。该技术可以实现多个不同CPU逻辑核中的进程并发访问不同的网卡队列,提高网卡接收数据的效率。

Description

一种基于单端口的DNS负载均衡性能优化方案
技术领域
本发明涉及DNS负载均衡性能优化方案领域,特别是涉及一种基于单端口的DNS负载均衡性能优化方案。
背景技术
负载均衡,其意思就是分摊到多个操作单元上进行执行。负载就是问题,高并发问题,均衡就是解决手段,高并发请求对单一微服务造成极大的压力,要使这个高并发请求能够平稳地处理,需要增加节点,直到能处理并发量问题为止。DNS负载均衡,其原理就是针对同一个域名设置多条A记录,指向不同的IP地址。当用户访问时,DNS服务器就会根据权重或者地理位置为用户返回不同的IP。这样就实现了对访问流量的分摊,既减轻了单个服务器的负载压力,也提升了用户的访问速度。
RSS是将接收的网络报文分发到网卡队列中的网卡驱动技术。该策略通过将RSS负载均衡后的网卡队列、特定的CPU逻辑核和应用程序进程或线程三者进行绑定来提高数据报文采集处理效率。
对单一服务端口,DNS负载均衡过程中的基于RSS技术实施负载分流,当网卡多队列接收到网络数据时,存在多个线程同时访问一个网卡队列的问题以及CPU逻辑核调度带来较多性能消耗的问题。如何最大化地提升服务器性能是需要重点解决的问题。
因此,基于RSS技术实施的负载分流中,存在多个线程同时访问一个网卡队列的问题以及CPU逻辑核调度带来较多性能消耗的问题,为此,我们提出一种基于单端口的DNS负载均衡性能优化方案。
发明内容
本发明的目的在于提供一种基于单端口的DNS负载均衡性能优化方案,可以有效解决背景技术中提出的基于RSS技术实施的负载分流中,存在的多个线程同时访问一个网卡队列的问题以及CPU逻辑核调度带来较多性能消耗的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种基于单端口的DNS负载均衡性能优化方案,包括以下步骤:
步骤一、对单一服务端口使用对称RSS技术对网络数据进行分流:将接收的网络数据分发到网卡队列中,平衡CPU多个逻辑核的处理压力;
RSS技术中,如果同一网络流量连接的往返网络数据被分发到不同的CPU逻辑核上时,并会造成资源跨核访问,导致数据处理效率变低。这里通过对称RSS技术来弥补这一缺陷。该技术可以实现多个不同CPU逻辑核中的进程并发访问不同的网卡队列,提高网卡接收数据的效率。
步骤二、利用CPU亲和性对多核多线程绑定分离:在网络数据分发到多个网卡接收队列后,利用DPDK的CPU亲和机制进行线程绑定,同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收;
在多核心处理器上,由于进程或线程被系统调度到其他CPU核心上,会导致缓存失效,并带来性能损耗。这里利用CPU亲和性进行线程或进程绑定,能够减小由于系统调度带来的性能影响,提高CPU缓存命中率。此外,使用CPU亲和机制可以将关键进程进行隔离,保证进程的实时调度,避免其他进程带来的干扰。
在将网络数据分发到多个网卡接收队列后,利用DPDK的CPU亲和机制进行线程绑定,有效避免了处理数据的线程频繁在CPU逻辑核间迁移的问题,提高了线程执行效率。同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收,充分利用了CPU多核和网卡多队列资源。
步骤三、对收到的实时数据按同源同溯机制分流:对基于UDP的业务,无需保留会话表,直接计算哈希值进行分流;基于TCP的业务,建立会话表,做相关的映射,进行分流。
本发明最大化地利用内存亲和性,访问相对应的内存数据,解决了单一端口高性能分流的问题,对服务器性能进行了提升和优化。
优选地,步骤一中,在流量数据分配时采用多重hash计算。
DPDK框架中接收到的流量数据在进行多次hash计算后能够被更均匀地分配至多核处理器的核心中,采用多次hash计算能够避免单次hash时所产生的碰撞问题。该方案能够避免网络流量随机性差而导致hash碰撞的问题,避免出现大多数的流量数据被分配至少数的CPU核心中的情况,有效解决了对称RSS可能使多核处理器出现负载不均衡的问题。能够使得进行流量处理任务所分配的CPU以更加均衡的方式对流量进行处理,从而提高CPU的整体效率。
优选地,对数据包的hash进行计算时,首先通过Toeplitz Hash算法计算hash值得到相应CPU核心并写入对应核心的key-core hash表,接着通过输入四元组输出hash值得到相应流表中具体tcp会话流并写入key-stream hash表。
优选地,针对流量包中四元组的hash算法需要实现使得输入数据在完成hash计算后得到的哈希值能够平均散落在某一区域内的算法,该算法输入的值为TCP连接四元组:源IP(SIP)、目的IP(DIP)、源端口(SPORT)、目的端口(DPORT),该算法的描述如公式所示:
Findex=Four_tuple_hash(SIP,DIP,SPORT,DPORT);
并采用如下算法来计算四元组hash值:
Figure BDA0003965740600000041
Figure BDA0003965740600000042
HRES=HKEY1&HKEY2。
优选地,多重hash算法的具体流程如下:
S1.首先将DPDK中RSS所采用的hash key修改为S-RSS算法所需要的对应值,当数据包到达网络接口层之后,DPDK将会执行Toeplitz Hash计算,并根据不同的hash计算结果将网络数据包分配至不同capture core所对应的rx队列中;
S2.在对应的CPU core中获取到数据后,首先查找当前core中对应数据流重组核中的key-stream hash表,并判断对应的流表中是否已经存在当前数据包对应的网络流,若能够查询到对应的网络流则将该网络流数据添加到流表对应项中;
S3.若在相应的流表中没有查询到对应的网络流,则查询key-core hash表中该流数据是否已通过负载均衡方案分配到其他CPU核心处理,若在key-core hash表中能够查询到该网络流,则将流数据交付至对应CPU核心的rte_ring环形队列中,否则表示该流数据针对流量采集模块以及重组模块来说对应的是一条新的tcp连接。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议;
S4.在处理新的tcp连接时,需要对CPU的整体负载均衡度进行计算。若CPU的负载均衡度超过阈值,则剔除CPU核心中负载过重的核,并重新计算Toeplitz hash值,在计算完毕后将该数据流以及根据hash结果得到的CPU核心的映射关系添加到key-core hash表中,并将流量数据发送至对应CPU核心的rte_ring,且在对应核心中的key-stream hash表中追加数据流的信息。
在对CPU的负载均衡度进行评估时,使用面向会话完整性的负载均衡评价指标作为负载均衡的评估指标。该指标根据负载均衡度进行考量,负载均衡度体现了各个核心之间处理数据的工作均衡程度,此处的负载均衡度的值越大代表多核处理器各个核之间工作量的差异越大。在一般的多核处理器中各个核的处理能力可以看作是相同的水平,由此可得在t时刻多核处理器各个核心间的负载均衡度具体公式如下:
Figure BDA0003965740600000051
式中,Pi(t)表示在t时刻CPU第i个核的利用效率,n为CPU多核处理器的核心数量。经过实验得出当负载均衡度的值大于0.2时对处理器的负载值做出调整可以得到较好的效果。即当负载均衡值高于0.2时,剔除负载最大的CPU核心,重新进行hash计算并分配至相应CPU核心,由此达到CPU多核处理器之间的数据处理流负载均衡的目的。
在本实施例的实现中,两个capture_core上捕获到的数据均衡分配至四个stream_reassembly_core中,在CPU均衡度未达到阈值,即负载均衡模块未介入的情况下,每个capture_core上的流量数据将会被分配至两个stream_reassembly_core;当CPU均衡度达到阈值,即负载均衡模块介入的情况下,每个capture_core上的流量都可能被输出至任意stream_reassembly_core所运行的CPU核心中。
优选地,步骤二中,当网卡多队列接收到负载均衡后的网络数据时,DPDK的轮询模式会对绑定网卡的所有环形队列进行轮询遍历,并接收所有数据包。
优选地,步骤三中,会话表由会话项组成,会话项是从数据包到节点服务器的一个映射。
优选地,会话保持具体为:当负载均衡器接收到一个数据包时,先根据用户定义的规则,从数据包取出表示会话信息的内容,然后依据会话信息查找会话表,若找到匹配的会话项,则将该数据包转发给会话项中记录的节点服务器;否则运行负载均衡算法为该数据包选择一个节点服务器,同时依照这个新的映射关系生成一个会话项并插入会话表中。
本发明具有以下有益效果:
1、本发明,通过对称RSS技术,对网络数据分发进行优化,平衡CPU多个逻辑核的处理压力,实现负载均衡,提高网络流量采集性能。该技术可以实现多个不同CPU逻辑核中的进程并发访问不同的网卡队列,提高网卡接收数据的效率。
2、本发明,通过CPU亲和性进行线程或进程绑定,能够减小由于系统调度带来的性能影响,提高CPU缓存命中率;并有效避免了处理数据的线程频繁在CPU逻辑核间迁移的问题,提高了线程执行效率。同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收,充分利用了CPU多核和网卡多队列资源。
3、本发明,对于DNS负载均衡过程中的基于RSS技术实施负载分流,最大化地利用内存亲和性,访问相对应的内存数据,解决了多个线程同时访问一个网卡队列的问题以及CPU逻辑核调度带来较多性能消耗的问题,解决了单一端口高性能分流的问题,对服务器性能进行了提升和优化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于单端口的DNS负载均衡性能优化方案的流程图;
图2为本发明的一种基于单端口的DNS负载均衡性能优化方案的多重hash结构以及不同hash表之间的对应关系;
图3为本发明的一种基于单端口的DNS负载均衡性能优化方案的刘表框架图;
图4为本发明的一种基于单端口的DNS负载均衡性能优化方案的会话保持功能示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图1-4所示,一种基于单端口的DNS负载均衡性能优化方案,包括以下步骤:
步骤一、对单一服务端口使用对称RSS技术对网络数据进行分流:将接收的网络数据分发到网卡队列中,平衡CPU多个逻辑核的处理压力;
RSS技术中,对于同一网络流量连接的往返网络数据被分发到不同的CPU逻辑核上时,造成资源跨核访问,导致数据处理效率变低的问题,这里通过对称RSS技术来弥补这一缺陷。对称RSS是指在网卡驱动开启RSS功能后,相同连接的双向数据报文能够分配到多核处理器的同一个核中,因为在不同核中共享连接信息会产生死锁的现象,即使得对称RSS对于保存连接信息的网络应用在减少性能开销上获得了大幅提升。对称RSS技术对网络数据分发进行优化,平衡CPU多个逻辑核的处理压力,实现负载均衡,提高网络流量采集性能。该技术可以实现多个不同CPU逻辑核中的进程并发访问不同的网卡队列,提高网卡接收数据的效率。
步骤二、利用CPU亲和性对多核多线程绑定分离:在网络数据分发到多个网卡接收队列后,利用DPDK的CPU亲和机制进行线程绑定,同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收;
在多核心处理器上,由于进程或线程被系统调度到其他CPU核心上,会导致缓存失效,并带来性能损耗。这里利用CPU亲和性进行线程或进程绑定,能够减小由于系统调度带来的性能影响,提高CPU缓存命中率。此外,使用CPU亲和机制可以将关键进程进行隔离,保证进程的实时调度,避免其他进程带来的干扰。
在将网络数据分发到多个网卡接收队列后,利用DPDK的CPU亲和机制进行线程绑定,有效避免了处理数据的线程频繁在CPU逻辑核间迁移的问题,提高了线程执行效率。同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收,充分利用了CPU多核和网卡多队列资源。
步骤三、对收到的实时数据按同源同溯机制分流:对基于UDP的业务,无需保留会话表,直接计算哈希值进行分流;基于TCP的业务,建立会话表,做相关的映射,进行分流。
本发明中,对于DNS负载均衡过程中的基于RSS技术实施负载分流,最大化地利用内存亲和性,访问相对应的内存数据,解决了多个线程同时访问一个网卡队列的问题以及CPU逻辑核调度带来较多性能消耗的问题,解决了单一端口高性能分流的问题,对服务器性能进行了提升和优化。
其中,步骤一中,在流量数据分配时采用多重hash计算。
采用多次hash计算,DPDK框架中接收到的流量数据在进行多次hash计算后能够被更均匀地分配至多核处理器的核心中,能够避免单次hash时所产生的碰撞问题。该方案能够避免网络流量随机性差而导致hash碰撞的问题,避免出现大多数的流量数据被分配至少数的CPU核心中的情况,有效解决了对称RSS可能使多核处理器出现负载不均衡的问题。能够使得进行流量处理任务所分配的CPU以更加均衡的方式对流量进行处理,从而提高CPU的整体效率。
其中,对数据包的hash进行计算时,首先通过Toeplitz Hash算法计算hash值得到相应CPU核心并写入对应核心的key-core hash表,接着通过输入四元组输出hash值得到相应流表中具体tcp会话流并写入key-streamhash表。
其中,针对流量包中四元组的hash算法需要实现使得输入数据在完成hash计算后得到的哈希值能够平均散落在某一区域内的算法,该算法输入的值为TCP连接四元组:源IP(SIP)、目的IP(DIP)、源端口(SPORT)、目的端口(DPORT),该算法的描述如公式所示:
Findex=Four_tuple_hash(SIP,DIP,SPORT,DPORT);
并采用如下算法来计算四元组hash值:
Figure BDA0003965740600000101
Figure BDA0003965740600000102
HRES=HKEY1&HKEY2。
其中,多重hash算法的具体流程如下:
S1.首先将DPDK中RSS所采用的hash key修改为S-RSS算法所需要的对应值,当数据包到达网络接口层之后,DPDK将会执行Toeplitz Hash计算,并根据不同的hash计算结果将网络数据包分配至不同capture core所对应的rx队列中;
S2.在对应的CPU core中获取到数据后,首先查找当前core中对应数据流重组核中的key-stream hash表,并判断对应的流表中是否已经存在当前数据包对应的网络流,若能够查询到对应的网络流则将该网络流数据添加到流表对应项中;
S3.若在相应的流表中没有查询到对应的网络流,则查询key-core hash表中该流数据是否已通过负载均衡方案分配到其他CPU核心处理,若在key-core hash表中能够查询到该网络流,则将流数据交付至对应CPU核心的rte_ring环形队列中,否则表示该流数据针对流量采集模块以及重组模块来说对应的是一条新的tcp连接;
S4.在处理新的tcp连接时,需要对CPU的整体负载均衡度进行计算。若CPU的负载均衡度超过阈值,则剔除CPU核心中负载过重的核,并重新计算Toeplitz hash值,在计算完毕后将该数据流以及根据hash结果得到的CPU核心的映射关系添加到key-core hash表中,并将流量数据发送至对应CPU核心的rte_ring,且在对应核心中的key-stream hash表中追加数据流的信息。
在对CPU的负载均衡度进行评估时,使用面向会话完整性的负载均衡评价指标作为负载均衡的评估指标。该指标根据负载均衡度进行考量,负载均衡度体现了各个核心之间处理数据的工作均衡程度,此处的负载均衡度的值越大代表多核处理器各个核之间工作量的差异越大。在一般的多核处理器中各个核的处理能力可以看作是相同的水平,由此可得在t时刻多核处理器各个核心间的负载均衡度具体公式如下:
Figure BDA0003965740600000121
式中,Pi(t)表示在t时刻CPU第i个核的利用效率,n为CPU多核处理器的核心数量。经过实验得出当负载均衡度的值大于0.2时对处理器的负载值做出调整可以得到较好的效果。即当负载均衡值高于0.2时,剔除负载最大的CPU核心,重新进行hash计算并分配至相应CPU核心,由此达到CPU多核处理器之间的数据处理流负载均衡的目的。
在本实施例的实现中,两个capture_core上捕获到的数据均衡分配至四个stream_reassembly_core中,在CPU均衡度未达到阈值,即负载均衡模块未介入的情况下,每个capture_core上的流量数据将会被分配至两个stream_reassembly_core;当CPU均衡度达到阈值,即负载均衡模块介入的情况下,每个capture_core上的流量都可能被输出至任意stream_reassembly_core所运行的CPU核心中。
其中,步骤二中,当网卡多队列接收到负载均衡后的网络数据时,DPDK的轮询模式会对绑定网卡的所有环形队列进行轮询遍历,并接收所有数据包。
其中,步骤三中,会话表由会话项组成,会话项是从数据包到节点服务器的一个映射。
其中,会话保持具体为:当负载均衡器接收到一个数据包时,先根据用户定义的规则,从数据包取出表示会话信息的内容,然后依据会话信息查找会话表,若找到匹配的会话项,则将该数据包转发给会话项中记录的节点服务器;否则运行负载均衡算法为该数据包选择一个节点服务器,同时依照这个新的映射关系生成一个会话项并插入会话表中。
这样当属于该会话的后续数据包到达负载均衡器时,会话表中就记录了该数据包应该被发往哪一个节点服务器。对应于网络应用中会话的超时概念,负载均衡中的会话项也设置超时,负载均衡器会定期删除长时间未使用的会话项。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (8)

1.一种基于单端口的DNS负载均衡性能优化方案,其特征在于,包括以下步骤:
步骤一、对单一服务端口使用对称RSS技术对网络数据进行分流:将接收的网络数据分发到网卡队列中,平衡CPU多个逻辑核的处理压力;
步骤二、利用CPU亲和性对多核多线程绑定分离:在网络数据分发到多个网卡接收队列后,利用DPDK的CPU亲和机制进行线程绑定,同时使用DPDK的逻辑核分配技术将CPU逻辑核上运行的线程从指定的网卡接收队列进行网络数据接收;
步骤三、对收到的实时数据按同源同溯机制分流:对基于UDP的业务,无需保留会话表,直接计算哈希值进行分流;基于TCP的业务,建立会话表,做相关的映射,进行分流。
2.根据权利要求1所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于:步骤一中,在流量数据分配时采用多重hash计算。
3.根据权利要求2所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于:对数据包的hash进行计算时,首先通过Toeplitz Hash算法计算hash值得到相应CPU核心并写入对应核心的key-core hash表,接着通过输入四元组输出hash值得到相应流表中具体tcp会话流并写入key-stream hash表。
4.根据权利要求3所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于:针对流量包中四元组的hash算法需要实现使得输入数据在完成hash计算后得到的哈希值能够平均散落在某一区域内的算法,该算法输入的值为TCP连接四元组:源IP(SIP)、目的IP(DIP)、源端口(SPORT)、目的端口(DPORT),该算法的描述如公式所示:
Findex=Four_tuple_hash(SIP,DIP,SPORT,DPORT);
并采用如下算法来计算四元组hash值:
Figure FDA0003965740590000021
Figure FDA0003965740590000022
HRES=HKEY1&HKEY2。
5.根据权利要求4所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于,多重hash算法的具体流程如下:
S1.首先将DPDK中RSS所采用的hash key修改为S-RSS算法所需要的对应值,当数据包到达网络接口层之后,DPDK将会执行ToeplitzHash计算,并根据不同的hash计算结果将网络数据包分配至不同capturecore所对应的rx队列中;
S2.在对应的CPUcore中获取到数据后,首先查找当前core中对应数据流重组核中的key-streamhash表,并判断对应的流表中是否已经存在当前数据包对应的网络流,若能够查询到对应的网络流则将该网络流数据添加到流表对应项中;
S3.若在相应的流表中没有查询到对应的网络流,则查询key-corehash表中该流数据是否已通过负载均衡方案分配到其他CPU核心处理,若在key-corehash表中能够查询到该网络流,则将流数据交付至对应CPU核心的rte_ring环形队列中,否则表示该流数据针对流量采集模块以及重组模块来说对应的是一条新的tcp连接;
S4.在处理新的tcp连接时,需要对CPU的整体负载均衡度进行计算,若CPU的负载均衡度超过阈值,则剔除CPU核心中负载过重的核,并重新计算Toeplitz hash值,在计算完毕后将该数据流以及根据hash结果得到的CPU核心的映射关系添加到key-corehash表中,并将流量数据发送至对应CPU核心的rte_ring,且在对应核心中的key-streamhash表中追加数据流的信息。
6.根据权利要求1所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于:步骤二中,当网卡多队列接收到负载均衡后的网络数据时,DPDK的轮询模式会对绑定网卡的所有环形队列进行轮询遍历,并接收所有数据包。
7.根据权利要求1所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于:步骤三中,会话表由会话项组成,会话项是从数据包到节点服务器的一个映射。
8.根据权利要求7所述的一种基于单端口的DNS负载均衡性能优化方案,其特征在于,会话保持具体为:当负载均衡器接收到一个数据包时,先根据用户定义的规则,从数据包取出表示会话信息的内容,然后依据会话信息查找会话表,若找到匹配的会话项,则将该数据包转发给会话项中记录的节点服务器;否则运行负载均衡算法为该数据包选择一个节点服务器,同时依照这个新的映射关系生成一个会话项并插入会话表中。
CN202211495702.2A 2022-11-27 2022-11-27 一种基于单端口的dns负载均衡性能优化方案 Active CN115858152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211495702.2A CN115858152B (zh) 2022-11-27 2022-11-27 一种基于单端口的dns负载均衡性能优化方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211495702.2A CN115858152B (zh) 2022-11-27 2022-11-27 一种基于单端口的dns负载均衡性能优化方案

Publications (2)

Publication Number Publication Date
CN115858152A true CN115858152A (zh) 2023-03-28
CN115858152B CN115858152B (zh) 2024-05-28

Family

ID=85666842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211495702.2A Active CN115858152B (zh) 2022-11-27 2022-11-27 一种基于单端口的dns负载均衡性能优化方案

Country Status (1)

Country Link
CN (1) CN115858152B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196870A (zh) * 2017-07-20 2017-09-22 哈尔滨工业大学 一种基于dpdk的流量动态负载均衡方法
CN107612840A (zh) * 2017-09-26 2018-01-19 东软集团股份有限公司 一种四层负载均衡设备的数据处理方法及装置
US20180285151A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Dynamic load balancing in network interface cards for optimal system level performance
CN111371779A (zh) * 2020-02-29 2020-07-03 苏州浪潮智能科技有限公司 一种基于dpdk虚拟化管理系统的防火墙及其实现方法
CN111447155A (zh) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 数据传输方法、装置、设备及存储介质
CN111984415A (zh) * 2020-08-24 2020-11-24 北京亚鸿世纪科技发展有限公司 一种基于流水线转发模型的负载均衡方法及装置
CN113157447A (zh) * 2021-04-13 2021-07-23 中南大学 一种基于智能网卡的rpc负载均衡方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285151A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Dynamic load balancing in network interface cards for optimal system level performance
CN107196870A (zh) * 2017-07-20 2017-09-22 哈尔滨工业大学 一种基于dpdk的流量动态负载均衡方法
CN107612840A (zh) * 2017-09-26 2018-01-19 东软集团股份有限公司 一种四层负载均衡设备的数据处理方法及装置
CN111371779A (zh) * 2020-02-29 2020-07-03 苏州浪潮智能科技有限公司 一种基于dpdk虚拟化管理系统的防火墙及其实现方法
CN111447155A (zh) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 数据传输方法、装置、设备及存储介质
CN111984415A (zh) * 2020-08-24 2020-11-24 北京亚鸿世纪科技发展有限公司 一种基于流水线转发模型的负载均衡方法及装置
CN113157447A (zh) * 2021-04-13 2021-07-23 中南大学 一种基于智能网卡的rpc负载均衡方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李凯;叶麟;余翔湛;胡阳;: "基于DPDK的流量动态负载均衡方法", 智能计算机与应用, no. 04 *

Also Published As

Publication number Publication date
CN115858152B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
US7694009B2 (en) System and method for balancing TCP/IP/workload of multi-processor system based on hash buckets
Ramakrishnan Performance considerations in designing network interfaces
US9069722B2 (en) NUMA-aware scaling for network devices
CN101217493B (zh) 一种tcp数据包的传输方法
CN111522653A (zh) 基于容器的网络功能虚拟化平台
CN1206600C (zh) 一种全分布式的集群网络服务器系统
Pipatsakulroj et al. mumq: A lightweight and scalable mqtt broker
CN107135268B (zh) 基于信息中心网络的分布式任务计算方法
CN105007337A (zh) 集群系统负载均衡的方法和系统
CN114006863A (zh) 一种多核负载均衡协同处理方法、装置及存储介质
CN102158406B (zh) 面向计算机网络链路的智能选路方法
Raumer et al. Performance exploration of software-based packet processing systems
Lei et al. Parallelizing packet processing in container overlay networks
CN102761608A (zh) Udp会话复用的方法和负载均衡设备
CN110289990B (zh) 基于gpu的网络功能虚拟化系统、方法及存储介质
Hwang et al. Load balancing and routing mechanism based on software defined network in data centers
CN109361749B (zh) 报文处理方法、相关设备及计算机存储介质
CN115766729A (zh) 一种四层负载均衡的数据处理方法及相关装置
CN115858152A (zh) 一种基于单端口的dns负载均衡性能优化方案
CN111611051B (zh) 一种在nfv平台上加速数据包首次分发的方法
Liu et al. A Modified Round-Robin load balancing algorithm based on content of request
Tanyingyong et al. Improving performance in a combined router/server
CN115174583A (zh) 基于可编程数据平面的服务器负载均衡方法
Guo et al. Libra: a stateful Layer-4 load balancer with fair load distribution
Zhang et al. Loom: Switch-based cloud load balancer with compressed states

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
GR01 Patent grant