一种分布式缓存服务器集群的性能优化方法技术

技术编号:20119448 阅读:32 留言:0更新日期:2019-01-16 12:21
本发明专利技术公开了一种分布式缓存服务器集群的性能优化方法,该方法包括如下步骤:s1.为集群中的物理缓存服务器生成虚拟缓存服务器;s2.将虚拟缓存服务器的某一特征值通过哈希函数H1映射到环结构上的某一点上,再将缓存的数据对象通过相同的哈希函数H1映射到环结构上的另一点上;s3.从数据对象映射的位置开始,沿顺时针方向查找,所遇到的第一个虚拟缓存服务器,即为该数据对象所对应的虚拟缓存服务器;s4.通过虚拟缓存服务器到物理缓存服务器的哈希函数H2将数据对象映射到物理缓存服务器上进行缓存;s5.当集群中增加或减少物理缓存服务器时,虚拟缓存服务器做出相应调整。本发明专利技术解决了缓存服务器集群的负载均衡问题,并提高了缓存服务器集群的整体性能。

A Performance Optimization Method for Distributed Cache Server Cluster

The invention discloses a performance optimization method for distributed cache server cluster, which includes the following steps: s1. Generating virtual cache servers for physical cache servers in the cluster; s2. Mapping a characteristic value of virtual cache servers to a point on the ring structure through hash function H1, and then mapping cached data objects to rings through the same hash function H1. Another point in structure: s3. Starting from the location of the data object mapping, searching clockwise, the first virtual cache server encountered is the corresponding virtual cache server for the data object; s4. Mapping the data object to the physical cache server through the hash function H2 of the virtual cache server to the physical cache server for caching; s5. When in the cluster, the data object is mapped to the physical cache server for caching. When adding or reducing physical cache servers, the virtual cache servers make corresponding adjustments. The invention solves the load balancing problem of the cache server cluster, and improves the overall performance of the cache server cluster.

【技术实现步骤摘要】
一种分布式缓存服务器集群的性能优化方法
本专利技术属于分布式缓存
,尤其涉及一种分布式缓存服务器集群的性能优化方法。
技术介绍
随着大数据时代的到来,分布式缓存技术在各个领域的应用越来越广泛,它具有读写速度快,扩展速度快,支持并发和快速响应等优势。分布式缓存系统的代表Memcached具有高性能、分布式等特点,它通过在内存中缓存数据和对象来减少读取数据库的次数,提高缓存的访问速度。Memcached的主要特征是它的分布式结构,可以通过在多台服务器上安装Memcached来搭建一个缓存服务器集群,然后通过一致性哈希算法来分散存储。一致性哈希算法(ConsistentHash)最早由DavidKarger等人提出,当时主要是为了应对互联网中的热点(HotPot)而设计,一致性哈希解决了简单哈希算法在分布式哈希表(DistributedHashTable,DHT)中存在的动态伸缩等问题。然而,传统的一致性哈希算法在分布式缓存系统Memcached服务器集群上的应用存在一些缺点:1.当物理缓存服务器的数量较少时,在缓存数据的过程中会普遍造成缓存服务器负载失衡的问题,进而也会影响整个服务器集群的性能发挥。2.当物理缓存服务器宕机时,该物理缓存服务器上缓存的数据将无法提供给各客户端进行查找访问,同时还影响服务器集群里的其他服务器,从而影响了整体服务器的性能,加大了对数据库的访问压力。
技术实现思路
本专利技术的目的在于提出一种分布式缓存服务器集群的性能优化方法,以解决分布式缓存服务器集群的负载均衡问题,同时提高分布式缓存服务器集群的整体性能。本专利技术为了实现上述目的,采用如下技术方案:一种分布式缓存服务器集群的性能优化方法,包括如下步骤:s1.为分布式缓存服务器集群中的物理缓存服务器生成虚拟缓存服务器;s2.将虚拟缓存服务器的某一特征值通过哈希函数H1映射到环结构上的某一点上,再将缓存的数据对象通过相同的哈希函数H1映射到环结构上的另一点上;s3.在所述环结构上从数据对象映射的位置开始,沿顺时针方向查找,所遇到的第一个虚拟缓存服务器,即为该数据对象所对应的虚拟缓存服务器;s4.定义虚拟缓存服务器到物理缓存服务器的哈希函数为H2,通过哈希函数H2将所述步骤s3中的数据对象映射到物理缓存服务器上进行缓存;s5.当分布式缓存服务器集群中增加或减少物理缓存服务器时,虚拟缓存服务器做出相应调整,虚拟缓存服务器的具体调整过程如下:当物理缓存服务器增加时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将一部分虚拟缓存服务器映射到新增的物理缓存服务器上;当物理缓存服务器减少时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将原来映射到被删除物理缓存服务器上的虚拟缓存服务器重新映射到删除后的其他物理缓存服务器上。优选地,所述步骤s1中虚拟缓存服务器的具体生成过程如下:定义第i台物理缓存服务器的总性能设定公式为:Si=k1×pi+k2×mi+k3×bi;其中,Si表示第i台物理缓存服务器的总性能;pi、mi、bi分别表示第i台物理缓存服务器的CPU主频、内存大小和网络带宽三个服务器性能衡量标准的向量值;i∈(1,N),N表示分布式服务器集群中物理缓存服务器的数量;k1、k2、k3分别表示各指标的权重,且k1+k2+k3=1;第i台物理缓存服务器的初始虚拟缓存服务器数量的设定公式为:Vi=[Si×n];其中,Vi表示生成的虚拟缓存服务器数量;n为常数,表示集群中标准物理缓存服务器对应的虚拟缓存服务器数量。优选地,所述步骤s2中,特征值为MAC地址、IP地址和域名中的任意一种。优选地,所述步骤s2中的环结构为一致性哈希算法的环结构,所述步骤s2中的哈希函数H1和步骤s4中的哈希函数H2均为基于MD5的KETAMA散列函数。本专利技术具有如下优点:本专利技术基于引入虚节点的一致性哈希算法提供的对数据的映射方式,结合并针对分布式内存对象缓存系统Memcached服务器集群的工作特点,引入了虚拟缓存服务器的概念和方法,很大程度上解决了缓存服务器集群的负载均衡问题,并提高了缓存服务器集群的整体性能。附图说明图1为本专利技术实施例中分布式缓存服务器集群的性能优化方法流程图。图2为本专利技术实施例中数据对象映射到环结构上的过程示意图。图3为本专利技术实施例中虚拟缓存服务器与物理缓存服务器的映射关系示意图。图4为本专利技术实施例中增加物理缓存服务器时虚拟缓存服务器的调整示意图;图5为本专利技术实施例中减少物理缓存服务器时虚拟缓存服务器的调整示意图。具体实施方式下面结合附图以及具体实施方式对本专利技术作进一步详细说明:如图1所示,一种分布式缓存服务器集群的性能优化方法,包括如下步骤:s1.为分布式缓存服务器集群中的物理缓存服务器生成虚拟缓存服务器。其中,本专利技术实施例中的分布式缓存服务器集群为Memcached缓存服务器集群。生成虚拟缓存服务器的具体过程如下:定义第i台物理缓存服务器的总性能设定公式为:Si=k1×pi+k2×mi+k3×bi;其中,Si表示第i台物理缓存服务器的总性能;pi、mi、bi分别表示第i台物理缓存服务器的CPU主频、内存大小和网络带宽三个服务器性能衡量标准的向量值;i∈(1,N),N表示分布式服务器集群中物理缓存服务器的数量;k1、k2、k3分别表示各指标的权重,且k1+k2+k3=1;第i台物理缓存服务器的初始虚拟缓存服务器数量的设定公式为:Vi=[Si×n];其中,Vi表示生成的虚拟缓存服务器数量;n为常数,表示集群中标准物理缓存服务器对应的虚拟缓存服务器数量。例如:设物理服务器集群的基准的CPU性能值为Pa,内存大小为Ma,网络带宽值为Ba。设第i台物理缓存服务器的CPU性能值为Pi,内存大小为Mi,网络带宽值为Bi。则由pi=Pi/Pa,mi=Mi/Ma,bi=Bi/Ba可得第i台物理缓存服务器的性能向量为[pi,mi,bi]。假设分布式缓存服务器集群的数量N=2,因此物理缓存服务器的总体性能S2=k1×p2+k2×m2+k3×b2,进而由公式Vi=[Si×n],得到:上述2台物理缓存服务器所对应的虚拟缓存服务器数量V2=[S2×n]。s2.将虚拟缓存服务器的某一特征值通过哈希函数H1映射到环结构上的某一点上,再将缓存的数据对象通过相同的哈希函数H1映射到环结构上的另一点上,如图2所示。其中,上述特征值为MAC地址、IP地址和域名中的任意一种。在该步骤s2中的环结构为一致性哈希算法的环结构。另外,在步骤s2中的哈希函数H1为基于MD5的KETAMA散列函数。s3.在环结构上从数据对象映射的位置开始,沿顺时针方向查找,所遇到的第一个虚拟缓存服务器,即为该数据对象所对应的虚拟缓存服务器。如图2和图3所示,假设物理缓存服务器的数量为2,数据对象数量为4,且分别用“数据对象1、数据对象2、数据对象3和数据对象4”来表示。两台物理缓存服务器用实线圆形代表且分别表示为“物理缓存服务器A”和“物理缓存服务器B”。而物理缓存服务器A所对应的虚拟缓存服务器用虚线圆形代表且分别表示为“虚拟缓存服务器A1、虚拟缓存服务器A2”,而物理缓存服务器B所对应的虚拟缓存服务器用虚线圆形代表且分别表示为“虚拟缓存服务器B1、虚拟缓存服务器B2”。以环结构上的数据对象1本文档来自技高网...

【技术保护点】
1.一种分布式缓存服务器集群的性能优化方法,其特征在于,包括如下步骤:s1.为分布式缓存服务器集群中的物理缓存服务器生成虚拟缓存服务器;s2.将虚拟缓存服务器的某一特征值通过哈希函数H1映射到环结构上的某一点上,再将缓存的数据对象通过相同的哈希函数H1映射到环结构上的另一点上;s3.在所述环结构上从数据对象映射的位置开始,沿顺时针方向查找,所遇到的第一个虚拟缓存服务器,即为该数据对象所对应的虚拟缓存服务器;s4.定义虚拟缓存服务器到物理缓存服务器的哈希函数为H2,通过哈希函数H2将所述步骤s3中的数据对象映射到物理缓存服务器上进行缓存;s5.当分布式缓存服务器集群中增加或减少物理缓存服务器时,虚拟缓存服务器做出相应调整,虚拟缓存服务器的具体调整过程如下:当物理缓存服务器增加时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将一部分虚拟缓存服务器映射到新增的物理缓存服务器上;当物理缓存服务器减少时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将原来映射到被删除物理缓存服务器上的虚拟缓存服务器重新映射到删除后的其他物理缓存服务器上。

【技术特征摘要】
1.一种分布式缓存服务器集群的性能优化方法,其特征在于,包括如下步骤:s1.为分布式缓存服务器集群中的物理缓存服务器生成虚拟缓存服务器;s2.将虚拟缓存服务器的某一特征值通过哈希函数H1映射到环结构上的某一点上,再将缓存的数据对象通过相同的哈希函数H1映射到环结构上的另一点上;s3.在所述环结构上从数据对象映射的位置开始,沿顺时针方向查找,所遇到的第一个虚拟缓存服务器,即为该数据对象所对应的虚拟缓存服务器;s4.定义虚拟缓存服务器到物理缓存服务器的哈希函数为H2,通过哈希函数H2将所述步骤s3中的数据对象映射到物理缓存服务器上进行缓存;s5.当分布式缓存服务器集群中增加或减少物理缓存服务器时,虚拟缓存服务器做出相应调整,虚拟缓存服务器的具体调整过程如下:当物理缓存服务器增加时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将一部分虚拟缓存服务器映射到新增的物理缓存服务器上;当物理缓存服务器减少时,修改虚拟缓存服务器到物理缓存服务器的哈希函数H2,将原来映射到被删除物理缓存服务器上的虚拟缓存服务器重新映射到删除后的其他物理缓存服务器上。2.根据权利要求1所述的分布式...

【专利技术属性】
技术研发人员:李旭健徐凯
申请(专利权)人:山东科技大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1