APP下载

基于LVS的数据库集群负载均衡性能测试与分析

2018-09-10张旭红

现代信息科技 2018年3期
关键词:负载均衡

摘 要:随着数据库技术的不断发展,在各行各业中数据库都得到了应用,但当下的技术难以满足人们对数据精准度的要求。在当今的企业集群中,Linux虚拟服务器(LVS)作为一种负载均衡技术,已经得到了广泛的应用,但由于现实条件的约束,Linux虚拟服务器仅仅对Web服务器集群负载均衡性能展开了研究,忽视了Linux虚拟服务器在特定的情况下,可以实现与数据库集群的对接,本文基于当前的研究现状,以负载均衡算法的数据库集群为对象,运用HP LoadRunner来对其进行负载均衡性能的实验,构建Linux虚拟服务器下数据库集群负载性能测试的具体方案。

关键词:Linux虚拟服务器;数据库集群;负载均衡;性能测试分析

中图分类号:TP311.13 文献标识码:A 文章编号:2096-4706(2018)03-0075-03

Load balancing Performance Test and Analysis of Database Cluster Based on LVS

ZHANG Xuhong

(Ningxia Polytechnic,Yinchuan 750004,China)

Abstract:With the continuous development of database technology,database have been applied in all walks of life,but the technology is difficult to meet the requirements of the data precision,in today's enterprise cluster,the Linux virtual server(LVS)as a load balancing technology,has been widely used,but due to the real conditions of constraint,the Linux virtual server only on the properties of the Web server cluster load balancing for research,Ignored the Linux virtual server in certain cases,to achieve docking with the database cluster,this article is based on the current research status,to load balance algorithm for object,database cluster use HP LoadRunner to carry on the experiment,the performance of load balancing built under the Linux virtual server database cluster load performance testing.

Keywords:Linux virtual server;database cluster;load balancing;performance test analysis

0 引 言

大數据时代的到来为人们的生产生活带来了极大的便利,但随着越来越多的数据产生,传统的数据库难以满足人们日益多样化的需求。面对这一现状,对高性能的技术的需求显得十分迫切,而数据库集群的发展使这一问题得到了改善,作为数据库集群中的中心技术,提高集群负载均衡性能是使数据库得到根本优化的关键。基于Linux虚拟服务器支持TPC请求做负载均衡虚拟IP,因此,可以利用Linux虚拟服务器架构来对数据库集群做负载均衡,从目前的研究现状来看,LVS的算法性能主要是以Web为基础的,缺少对数据库集群的负债均衡算法做出分析,为了解决这一问题,本文将通过设计数据库集群负载均衡性能测试,来探寻数据库集群所对应的最高效的负载均衡算法。

1 Linux虚拟服务器概述

Linux虚拟服务器以提高服务器群组的功能为目标,如今已经在网络服务器集群的负载调度过程中得到实践,与其他服务相比,Linux虚拟服务器同时具备成本较低、伸缩性能好、配置简便等优点,仅仅通过简单的安装即可实现多台服务器的连接,使其成为一个集群。而科学技术的发展同时增强了负载均衡的需求,使Linux虚拟服务器得到进一步推广,淘宝网等知名网站也都应用了Linux虚拟服务器集群系统。

Linux虚拟服务器能够有效解决内容分发的负载调度,并且已经在系统中被应用,进一步将服务器群组融合,通过其中的一台服务器,使分布在网络中的服务器与用户相连,当用户发出请求时,其信息会首先被传递到负载调度器上,以此作为媒介,将用户的请求分散给其他的服务器,使用户无需进行复杂的操作,便可得到所要获取的数据信息。在Linux虚拟服务器集群当中,需要负载均衡器、服务器池以及共享存储三部分共同配合,首先负载均衡器作为整个系统的开端,当使用者的请求发出时,会被传送到一台服务器上,经过负载调度器进行二次传递,发回的信息经过负载调度器的处理,保障给使用者的最终结果出自同一个IP;处理用户请求的真实服务器从属于服务器池,根据需求对服务器池中的服务器数量进行调整;而共享服务则是为真实服务器的数据提供保障,降低由于系统更新产生损失的可能性。

2 数据库集群系统和负载均衡技术

2.1 数据库集群系统

并行系统是由一组计算机的连接而形成的系统,通过集群管理的相关软件,使计算机形成一个整体,来实现对外部的服务功能,集群可以增加服务器的数量,而用户并不能发现,将集群系统进行划分,可以分为高性能集群、高可用集群、负载均衡集群以及网络计算集群。数据库的集群同样有多种架设模式,以主机节点能否实现共享数据存储为依据,可以划分为共享存储结构和无共享存储结构。共享存储结构中,主机具有单独的处理器,但又使用同一个存储系统,以此保障了存储系统的数据完整性,面对用户的请求,节点必须从存储系统中获取数据,再存储到节点内存中,共享存储结构具有负载均衡性强的优点,但是其费用较高,程序复杂。无共享存储结构中,服务器不仅有单独的处理器,而且存储器也是单独的,各个节点之间保持相对的独立性,这种独立性极大地提高了其并发处理能力。

2.2 负载均衡技术

2.2.1 负载均衡技术的概念

负载均衡技术将多台服务器集合成一个整体,并且在这个系统内保持各个服务器处于独立的状态,使得服务器节点能够根据使用者的请求来做出反应,并及时处理,给使用者以信息反馈,但是当系统的处理量没有达到一定数量时,这种效能难以体现出来。不过,随着用户请求数量的增加,当一台服务器不能处理时,负载均衡便会发挥其性能,对大量的数据进行分析处理,根据使用者的请求发送到节点上,提高了设备的使用效率。

2.2.2 负载均衡技术分类

负载均衡技术从实现的方法划分,可以分为软件实现方式和硬件实现方式。软件负载均衡是根据使用者的请求来进行均衡调度,操作简单,在网络服务器集群中应用较多,但由于其运行需要一定的硬件支持,会加大对资源的占用率,硬件负载均衡是以硬件来实现负载调度,不会受到软件的约束,但必须有相应的配套设备予以支持,由此会提高其成本。

按照网络的物理结构划分,可以分为全局负载均衡和本地负载均衡。本地负载均衡主要是解决本地区的流量负荷问题,将用户的请求分发到各个服务器当中,本地负载均衡模式具有价格低、类型多的特点,但是需要软件来运行,在此过程中很难避免硬件的消耗。全局负载均衡可以实现对不同地区的服务器的控制,其可靠性和服务的质量都相对较高,因此,在大型的网站服务中,全局负载均衡有很高的应用价值。

按照负载均衡网络层次可以划分为第七层负载均衡、第四层负载均衡以及第二层负载均衡。第七层负载均衡应用在Web服务器集群中,来分析HTTP的报头信息,以此实现调度;第四层负载均衡是在传输层实行的负载均衡,在这种负载均衡模式下,首先用户请求的地址将会被任务调度器修改,根据调度的原则,进而被发送到服务器节点上;第二层负载均衡则是在数据链路层当中,将处在同一条逻辑链路的数据发送给其相应的物理链路,从而加快其发送的效率。

3 测试原理

对于Linux虚拟服务器负载均衡架构,有三种搭建模式,一是VS/TUN模式,用IP通道来实现对使用者请求的均衡分发,二是VS/NAT模式,考虑到在系统中可能出现通讯压力,用转换网络地址的方式将请求进行分发,三是VS/DR方式,将最终的结果发送给使用者,具有较快的返回能力。在当今的科学技术推动下,Linux虛拟服务器可以采用最小连接调度算法、目标地址散列调度等八种算法。

在My SQL Cluster中,经常采用NDB存储引擎来将数据集群中的数据节点进行整合,采用复制的方式达到数据之间的同步性,另外,在HP Loadrunner中设置IP Wizard,使用者可以根据自己的需求来对IP地址进行调整,达到以一台主机来操作多个IP地址的效果,将使用变量参数化,保障使用者之间的差异可以得到检验。对负载测试生成节点进行设置,通过增加样本数量,来对结果进行分析,基于本文的研究目的,是根据数据分发状况监测LVS负载均衡算法的性能,来判断此算法的效果好坏,因此采用并发测试来进行试验,基于较少误差的考虑,采用VS/DR的方式进行搭建。

4 测试实验

4.1 实验配置

完整的My SQL数据库集群需要具备管理节点、数据节点以及SQL节点,在本次的测试中将把三种节点运用到集群当中,来提高数据库的完整度,把数据节点和SQL节点与主机作为真实的服务器,主机的IP分别为:

LVS均衡器IP:192.168.1.141

负载均衡IP:192.168.1.250

DB Node 01 IP:192.168.1.142

DB Node 02 IP:192.168.1.143

DB Node 03 IP:192.168.1.144

为了提高数据库节点的性能在节点的RAM中装置512MB、1024MB、2048MB,并使用高速路由器进行连接,采用My SQL数据库集群搭建的方式和LVS的配置原理,在管理节点中以ipvsadm-l命令来查询内配置。

4.2 LoadRunner配置

将用户的信息存储到HP LoadRunner文件中,以lr_eval_string()函数来实现参数文件的调用,将使用者的循环调用方式调整为Unique-Once模式,在此基础上导入文件,编辑使用者的action脚本。为了使使用者之间保持相对的独立性,需要借助IP spoof功能,通过IP Wizard将IP地址发送到本地网卡中,启动专家模式和IP欺骗功能,绑定虚拟用户的IP地址。

4.3 实证过程

(1)将用户的信息进行执行授权。

(2)创建共享分享式数据表,并指向SQL语言。

(3)为了减少实证过程中MySQL数据库最大连接数受限带来的影响,将连接数值进行调整。

(4)设定数据库的连接超时使用户能够有效进行访问。

(5)同时在计算机上运行虚拟用户的脚本,执行SQL语言,测量用户数和所需时间,在负载均衡器上对不同的算法进行反复的测试。

5 实验结果的分析

通过以上对轮询调度算法(rr)、加权轮询调度算法(wrr)、最小连接调度算法(lc)、加权最小连接调度算法(wlc)、源地址散列调度算法(sh)、目的地址散列调度算法(dh)六种算法的实验,对所产生的数据进行划分,由于数据较为分散,本次实验将以三十秒为间隔,分别选取十个间隔点,去除其中的干扰因素,通过计算响应所需时间的平均值,根据AVEres_time=(∑10n=1aven)/10这一公式,得出了以下结果,如表1所示。

根据res Time=conn Time+exe Time这一公式,可知,当数据库集群的节点同一集群中,conn Time可以被看作一个不变量,节点间所需的通讯时间比较小,而用户的响应时间会随着数据处理时间的增加而增加,两者呈正相关关系。在不考虑通讯对于时间的影响的情况下,SQL请求所需的时间会直接在用户的响应时间中得到体现,对于非对称集群环境而言,集群中节点性能不同,最小接连算法难以实现调度节点的功能,因此导致其不能很好地发挥集群的功能,而加权最小连接调度则可以根据相关的硬件来进行调度。但是加权最小连接调度适用于用户数量较多的情况,当数量不足时,权值的计算则会增加反应时间,导致执行效率低下。

参考文献:

[1] 王超.基于LVS数据库集群负载均衡算法的研究 [D].曲阜:曲阜师范大学,2017.

[2] 丁敏.云环境下高性能数据库集群关键技术研究 [D].成都:电子科技大学,2017.

[3] 高攀.基于LVS的负载均衡改进算法在DRC集群中的应用 [D].成都:成都理工大学,2016.

[4] 栾羿鲁.集群WEB应用下的负载均衡技术研究与应用 [D].天津:天津大学,2014.

[5] 朱红.基于MySQL集群实现的高性能数据库架构设计 [D].上海:上海交通大学,2014.

[6] 宣振国.基于Mysql的数据库集群设计与实现 [D].北京:北京邮电大学,2013.

作者简介:张旭红(1972.08-),女,汉族,宁夏人,教授,本科。研究方向:计算机网络。

猜你喜欢

负载均衡
LBS检索容灾架构研究
Linux负载均衡集群技术在网络服务器中的应用
Oracle MAA在汽车行业电子政务平台中的应用
社区教育平台运营策略研究
异构环境下改进的LATE调度算法
基于负载均衡的云资源调度策略研究
基于新型VPN 技术的高校校园网改造
基于云计算的虚拟实验系统的设计及应用
基于离散PSO算法的医疗云存储部署策略
多站点同步更新系统的设计