APP下载

网络竞价系统中负载均衡技术优化

2016-11-17孙建岗张树东

计算机测量与控制 2016年9期
关键词:竞价使用率向量

孙建岗, 张树东

(首都师范大学 信息工程学院,北京 100048)



网络竞价系统中负载均衡技术优化

孙建岗, 张树东

(首都师范大学 信息工程学院,北京 100048)

在网络系统正常运行中,如何确保数据准确实时高效的传输变得越来越重要,在一些高并发、高吞吐的服务中,确保每个事务功能正常运转越来越重要;系统的负载是否均衡是确保整个系统能否完整工作的关键,现在有很多负载均衡算法旨在使得每个服务器的负载趋于相等,可以归纳为静态均衡方法和动态均衡方法;考虑到影响服务器的负载有多重因数,结合贪心算法作出相对合理的负载均衡策略,应用到本次竞价系统中对比以前的平衡策略,通过比较可以得出多衡量指标的综合考虑会提高负载均衡的性能,对网络竞价系统能够起到更优化的作用。

确保数据准确实时高效的传输;高并发、高吞吐;负载均衡策略;多衡量指标;网络竞价系统

0 引言

在用户高访问量、高并发和服务资源不断膨胀的情况下,Web服务器的响应缓慢迟延等问题[1]已成为了网络服务质量的主要表现之一。网络集群服务器以其良好的可扩展性、高可靠性、高性价比的特点,为Web服务器系统带来了新的解决方案[2]。负载均衡技术是解决这类问题的核心技术,其应用保护了多台服务器负载的均衡性,实现了对用户请求进行公平合理的分配和调度,提高了系统自身的反应效率和稳定性[3]。如何确定一个合适的用户并发量能使的系统的吞吐量达到最佳值是我们的一个目标[4]。在不考虑服务器执行时间和网络延时,如何确定在合适的并发量下,系统交易相应时间最优。如何确定在适应的用户并发量下使各个服务器的网络使用情况基本平衡[5]。如何确定在适应的用户并发量下,使得每个数据库服务器资源CPU利用率基本平衡。这些问题都与整个系统的负载均衡策略有直接的关系[6],所以如何确定一个合适本系统的负载均衡是我们本次论文的最终目的。

1 一般服务器的负载均衡

当用户通过终端进入报价系统时,需要的服务类型是千差万别的,比如查看标的列表页面,进入报价现场页面,进入报价提交页面,进入个人竞价室等,这些服务对服务器的操作造成一定的压力。如何能确定一个可靠的负载平衡策略是关键[7]。以前经常用的的负载均衡的方法有静态负载均衡技术和动态负载均衡技术两种,静态调度方法往往将URL依次映射成系统中服务器的IP,如DNS的轮询法,但缺点明显,随着服务器数量和规模的增大,还有服务器类别的复杂化,很容易造成服务器的不平衡。而动态方法则是周期性采集负载信息并根据相应的负载均衡算法转发到有请求的服务器上处理请求信息,也会遇到明显问题,在周期性采集负载信息的时候,如果请求太多,负载信息不能及时更新也会使得服务器的负载不均。

为了更好的选择负载均衡策略,可以选择一个多衡量指标的研究方案,通过各个对服务器负载有影响的因数,提出服务器负载多属性的量化函数[8]。通过这个函数来提高系统中服务器的负载情况从而提高系统的效率和性能。首先考虑到影响服务器负载的因数有CPU的使用率,内存的使用率,磁盘I/O的访问率,网络带宽的使用率和存储空间的使用大小,有人对这5个因数进行了研究,但是随着网络的发展,人们对网络质量的提高,尤其是有很多网络是针对动态网页和静态网页的时候,服务器其的处理数据量是大不相同的,这两方面的多少会直接影响到服务器的响应速度,所以本文也将服务器处理动态网页的能力大小和服务器处理静态网页能力的大小作为参考的因数,重新算出一个更合理的权向量函数。

2 多衡量属性负载均衡方法

2.1 建立衡量函数模型

对于集群中如何建立服务器的工作负载数学模型,Watts和Taylor在他们的研究中心已经证明了线性加权法来定量描述服务器负载的有效性和准确性[9],而且后来又有相当多的人对相关领域做了大量的研究工作,并且取得了很多新的进展,所以我们这次也要用这种思路来建立改进算法的数学模型。

线性轮询的理论思路如下:各个衡量指标在总目标数值中所占的重要程度是不相同的,那么就可以根据其各自的重要性分别设定他们的系数,并将这些带有系数的衡量指标相加,最后得到的目标总值[10]。这样就是多衡量指标在不同情况下共同作用的结果,得到的结果能更好的反映实际情况。

因此改进后的多衡量指标负载均衡衡量的函数可以用以下公式代替:

L=K1*L(band)+K2*L(Storage)+K3*L(io)+K4*

L(cpu)+K5*L(mem)+K6*L(Static)+

K7*L(Dynamic)

(1)

此公式(1)中,L(band)表示网络带宽使用率的大小,L(Storate)表示存储空间使用率的大小,L(io)则表示磁盘I/O访问率的大小,L(cpu)表示CPU使用率的大小,L(mem)表示内存使用用率的大小,L(Static)表示服务器处理静态网页能力的大小,L(Dynamic)表示服务器处理动态能力的大小,K1,K2,K3,K4,K5,K6和K7分别表示这七个变量的权值系数(并满足K1+K2+K3+K4+K5+K6+K7=1),用以表示各个负载度量指标对服务器负载量大小影响的强弱程度。该函数的权向量则为ω=(K1,K2,K3,K4,K5,K6,K7)。通过这个改进的方法计算每个服务器负载能力大小,由于这个方法是从多衡量指标考虑,所以相对来说更具有科学依据。

2.2 多衡量指标权向量的确定

在以往的研究中,确定权向量一般是先赋初始值,然后再根据实际情况不断地修改来确定权向量,但是这种方法可靠性和信赖度比较低,所以本文是借鉴国外关于多属性决策相关理论中的层次分析法来计算权向量的初始值。

层次分析法(analytic hierarchy process, AHP)是美国著名运筹学家Saaty教授于20世纪70年代末期提出的一种新的系统分析方法[11]。层次分析决策方法最大的优点是可以处理定性和定量相结合的问题,可以将决策者的判断与经验引入到模型中,并加以量化处理。层次分析法的出现给决策者解决那些难以定量描述的决策问你带来了极大的方便,因而他是一种可以将定性和定量分析相结合的多目标决策分析方法。

它的基本思想是在分析复杂系统所包含的因素及相关关系的基础上,把一个复杂的系统按支配关系分组,从而分解成各个组成因数,形成含有若干层次的有序的递阶层次结构。层次分析法按表1的梯度理论,对每一层次的各要素两两比较,获得了对应的判断矩阵。通过计算判断矩阵的最大特征值以及属于该特征值相应的特征向量。再对特征向量进行归一化处理,获得了权重向量,依据此权重向量,可得到各层次中若干要素的重要性次序。同时需要确定层次中若干准则的相对重要性,然后综合人的判断来确定决策中各因素相对重要的排名。

在网络竞价系统中,我们列出了当用户量增多时,在系统中每个服务器的负载情况各不相同,负载情况还和用户选择不同的服务有关系,比如提交订单服务、修改报价服务等,但是我们罗列出了对服务器负载影响的各个因数,然后用数学的方法计算反映每一个元素的相对重要性的权重,从多个要素考虑来确定出本系统使用层次分析法求来的权向量[15]。对于任何复杂的衡量权重问题,都可以选择构造层次结构模型,然后形成判断矩阵,通过线性代数中的相关特征值的方法便能得到所有方案重要性的次序与权值大小,以下是重要的定义及相关定理。

定义1:若矩阵A=(aij)n×n满足:

非负性:aij>0,∀i,j∈N;

互反性:aij=1/aji,aii=1,∀i,j∈N。

则称A=(aij)n×n是n阶正互反判断矩阵。

定义2:若∀i,j,k∈N,有aikakj=aij成立,则称A=(aij)n×n为完全一致性正反判断矩阵。

定义3:一致性指标C.I可以定义为:

(2)

其中:λmax为互反判断矩阵A=(aij)n×n的最大特征值。

定义4:令

(3)

则陈C.R为一致性比率。其中R.I为随机一致性指标,Saaty教授给出随机一致性指标R.I的数值列表见表1。

表1 R.I不同阶的平均随机一致性指标

定义5:计算最大特征向量λmax:

(4)

定义6:判断矩阵归一化处理公式:

(5)

在定义1中,aij的值如何确定是关键。Saaty等人用大量实验的方法比较了在各种不同标度下人们判断结果的正确性,经过无数实验的验证,aij的值按照1-9标度进行确定,如表2。

表2 标度取值参考表

在根据竞价系统中现场的操作和回馈,我们总结出了影响性能的一些要素,并根据这些要素间的重要性,并结合Saaty教授层次分析法的理论,得到一个判断矩阵,用a1、a2、a3、a4、a5、a6、a7分别表示网络带宽使用率、存储空间使用率、磁盘I/O访问率、CPU使用率、内存使用用率、服务器处理静态网页能力和服务器处理动态能力,并更具这7个变量作为判断矩阵的行和列,则判断矩阵为:

由表1可知,根据值法可以得出判断矩阵A如下:

矩阵A根据公式(5)做归一化处理,将矩阵A转化为A′:

矩阵经归一化处理后的判断矩阵A′再按行相加得到的列向量W=(0.2,0.77,0.77,0.44,0.38,1.5,2.7)T然后对该列向量进一步对每个分量做归一化处理,就可以得到权重向量W=(0.03,0.11,0.11,0.07,0.06,0.22,0.4)T。再结合矩阵A和公式(4)可以得出λmax=7.6,又根据表一可以查表知道一直想R.I=1.32,由公式(2)得知C.I=0.1,最后再有公式(3)可知C.R=0.07<0.1,证明判断矩阵A满足一致性条件,因此前面计算出来的权重向量就是能够在竞价系统中最终定量决定负载均衡的分量指标。

由前面公式(1)可知,对于每个服务器负载能力大小的评测就可以结合计算出来的权重向量来表示,所以最终决定服务器如何进行负载分配的表达式为:

L=0.03L(band)+0.11L(Storage)+0.11L(io)+

0.07L(cpu)+0.06L(mem)+0.22L(Static)+

0.4L(Dynamic)

由上面得到的负载量衡量函数是比较合理的,整个竞价系统可以在实际竞报价过程中通过监测整个系统的运行状态来对权向量进行微调,来提高整个系统的性能。

3 负载性能测试

在本次试验中,我们针对的环境是实际应用的竞报价系统,在实际操作应用过程中我们得到了一些实际数据,就是当系统的并发量达到1 000左右的时候,CPU的利用率会达到一个较高的使用率,用户响应时间拖延比较严重,系统几乎面临瘫痪的边缘,而一些内存使用率还有存储空间的使用不是特别高。还有就是在静态页面和动态页面的一些测试中,系统在高并发的时候,监测到系统都不能达到理想的效果。出于这些原因的考虑我们得出了多衡量指标的负载均衡设计,希望可以在配置系统过程中,依照得出的权向量表达式去分配管理服务器负载能力。

我们通过比较的方式来对比哪一种方式会对我们的竞报价系统更有利,在使用了多衡量指标的负载和未使用多衡量指标负载的相比较。

由图1可知,在竞价系统中,该改进的负载均衡算法起到了很好的效果,在相同响应时间的情况下,使用权衡向量的服务器更能多的提高用户并发量。

图1 报价系统测试

在图2中我们可以看出,在竞价系统中,控制相同的响应时间,使用权衡向量的服务器能够提高用户的并发量。通过实验进行比较我们发现,在整个竞报价系统中,应用本次多衡量指标算法不仅能够提高用户的并能发量,同样还可以系统响应的时间,同时在软件检测中可以发现各个硬件机能都处在一个优越的位置,性能达到最大化。

4 结言

目前,在一个实际运行的系统中制约系统有效运行的因数有很多,如何让系统达到最好的性能,是我们追求的目标。查看文献会看到有很多关于改善系统性能的文章,可以去分析讨论相关的技术,本文也不例外,在面对竞报价系统的缺陷,利用所学知识,得出一个系统而有效的科学方法来提高系统的性能。

本次系统在运行过程中我们发现,并发量不高,响应时间迟缓的关键,是系统中没有很好的对服务器那一块做负载均衡处理。负载均衡技术又有很多种,本次文章大胆假设利用多衡量指标的方法来提高服务器的负载能力,就其中服务器处理静态数据的能力和处理动态数据的能力加入考虑,现在随着硬件技术的飞速成长,制约一个系统性能的瓶颈越来越推向软件方向,所以本次的重点就是从负载决策上找到一个更合理的方法,结合国外教授的先进理论我们得出服务器基于多衡量指标的算法,从而优化系统的性能。

[1] 桂勇哲,张进宇.基于覆盖网络多路径与并行TCP的传输技术[J].计算机应用,2010,30(5):1171-1175.

[2] 杜文峰,吴 真,赖力潜. 传输延迟感知的多路径并发差异化路径数据分配算法[J].通信学报,2013,34(4):149-157.

[3] 赵先明,朱伏生,唐 宏,等.TD-LTE系统动态资源分配算法研究[J].重庆邮电大学学报:自然科学版,2013,25(2):226-230.

[4] 杨际祥,谭国真,王荣生.并行与分布式计算动态负载均衡策略综述[J].电子学报, 2010, 38(5): 1122-1130.

[5] 王荣生,杨际祥,王 凡. 负载均衡策略研究综述[J]. 小型微型计算机系统,2010,31(8):1681-1686.

[6] 王春娟,董丽丽,贾 丽.Web集群系统的负载均衡算法[J].计算机工程,2010,36(2):102-104.

[7] 张玉芳,魏钦磊,赵 膺.基于负载权值的负载均衡算法[J].计算机应用研究,2012,29(12):4711-4713.

[8] 李 新,黎文伟.一种改进的动态告警负载均衡算法[J].小型微型计算机系统,2013,34(7):1585-1589.

[9] 许少华,夏智伟.基于轮转周期的动态反馈负载均衡算法[J].计算机技术与发展(ISTIC),013,23(6):63-66.

[10] 孙峻文,周 良,丁秋林.基于退火算法的动态负载均衡研究[J].计算机科学,2013,40(5):89-92.

[11] 杨 锦,李肯立,吴 帆.异构分布式系统的负载均衡调度算法[J].计算机工程,2012,38(2):166-168.

[12] 张聪萍,尹建伟.分布式文件系统的动态负载均衡算法[J].小型微型计算机系统,2011,32(7):1424-1426.

[13]DemestichasP,GeorgakopoulosA,KarvounasD,etal. 5Gonthehorizon:keychallengesfortheradio-accessnetwork[J].IEEEVehicularTechnologyMagazine, 2013,8(3).

[14]DamnjanovicA,MontojoJ,WeiYB,etal.Asurveyon3GPPheterogeneousnetworks[J].IEEEWirelessCommunications,2011,18(3).

[15]PengMG,LiangD,WeiY,etal.Self-configurationandself-optimizationinLTE-advancedheterogeneousnetworks[J].IEEECommunicationsMagazine, 2013,51(5).

[16]AndrewsJ,SinghS,YeQY,etal.AnoverviewofloadbalancinginHetNets:oldmythsandopenproblems[J].IEEEWirelessCommunications, 2014,21(2).

[17]AndroneC,PaladeT,PuschitaE,etal.Studyofco-channelcross-layerinterferenceforthedownlinkcommunicationinfemtocellnetworks[A].ProceedingsofISSCS[C].Lasi, 2011.

[18]LiZH,WangH,PanZW,etal.Jointoptimizationonloadbalancingandnetworkloadin3GPPLTEmulti-cellnetworks[A].Proceedingsof2011InternationalConferenceonWirelessCommunicationsandSignalProcessing(WCSP)[C].Nanjing,China, 2011.

[19]ShengJ,YangZ,TangLR.Anovelloadbalancingalgorithmbasedonutilityfunctionsandfuzzylogicinheterogeneouswirelessnetworks[A].ProceedingsofFSKD[C].Sichuan,China, 2012.

[20]MuozP,BarcoR,Ruiz-AviléJM,etal.Fuzzyrule-basedreinforcementlearningforloadbalancingtechniquesinenterpriseLTEfemtocells[J].IEEETransactionsonVehicularTechnology, 2013,62(5).

[21]KyuhoSon,SongC.DynamicassociationforloadbalancingandinterferenceavoIDanceinmulti-cellNetworks[J].IEEETransactionsonWirelessCommunications, 2009,8(7).

Optimization of Load Balancing Technology in Network Bidding System

Sun Jiangang, Zhang Shudong

(College of information engineering, Capital Normal University, Beijing 100048, China)

In the normal operation of network systems, how to ensure accurate data transmission in real time with high efficiency is becoming more and more important. In some high concurrency and high throughput of the service, to ensure the normal operation of each transaction function more and more important. The load balancing of the system is the key to ensure the whole system can complete the work, there are now many load balancing algorithm is designed to make each server load tends to be equal, can be divided into static load balancing method and the dynamic load balancing method. Considering the influence of server load multiple factor, combining greedy algorithm made relatively reasonable load balancing strategy, application to the bidding system in contrast to previous balance strategy, through the comparison, it can be that multi measurement index comprehensive consideration can improve the load balance of performance, the network bidding system can play a more optimal function.

To ensure accurate data transmission in real time with high efficiency; high concurrency and high throughput; load balancing strategy; multi measurement index; network bidding system

2016-04-07;

2016-05-18。

国家自然科学基金(31571563);国家科技支撑计划项目、北京市属高等学校创新团队建设与教师职业发展计划项目、高可靠嵌入式系统技术北京市工程研究中心(2013BAH19F01);国外访学项目(067145301400)。

孙建岗(1989-),男,山西忻州人,首都师范大学硕士研究生,主要从事数据库系统及计算机应用方向的研究。

张树东(1969-),男,教授,博士,主要从事计算机网络、分布式计算方向的研究。

1671-4598(2016)09-0237-03DOI:10.16526/j.cnki.11-4762/tp

TP

A

猜你喜欢

竞价使用率向量
向量的分解
聚焦“向量与三角”创新题
2018年中国网络直播用户规模为3.97亿
管道天然气竞价交易引发的思考
碰撞:恶意竞价与隐孕求职
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
基于服务学习方法提高青少年安全带使用率
胃肠外科围手术期合理使用抗菌药物的探讨
凝聚智慧,着眼未来