慕课教育系统中Web服务器集群负载均衡算法研究
2016-12-21马洁
马洁
慕课教育系统中Web服务器集群负载均衡算法研究
马洁
慕课教育平台的服务器集群会在用户访问量的增加下响应变慢,所以需要提出一种基于服务器状态和请求信息新的策略算法来减少响应时间。该算法的机制是根据客户端的请求内容对服务器的影响程度进行分类,并设定相应的权值,同时结合服务器的性能参数和负载状态,将该次请求分配到负载最轻的服务器。根据慕课教育系统提出了一种分层式均衡系统的总体框架结构,研究了系统内部通信机制和Web 服务器性能的监控方案。实验结果表明所提出的算法能够充分利用现有的软硬件资源,有效地均衡Web集群服务器的负载,使服务资源得到最大效率的利用,是目前缓解或者解决Web服务器负载不断增加的一种有效方法,优于一些传统的负载均衡算法。
数Web;服务器集群;负载均衡;高可用性;慕课教育系统
0 引言
Web 服务的高性能、高可用问题已经成为Web 服务领域研究的热点。Web集群服务器系统是解决当前Web 服务性能问题的有效途径之一。异构集群服务器比同构集群服务器更有实际意义,但实现起来困难要大得多。为实现一个高效的异构Web 集群服务器系统,必须解决许多问题,如:请求分配、负载均衡、容错技术等[1]。对于异构Web集群服务器,各台Web服务器性能不同,各种负载均衡算法将导致系统中各台Web服务器对外表现的不同。当Web集群服务器中各台Web服务器的负载处于均衡状态时,请求分配的效率最高[2]。因此,可以通过负载均衡算法来控制负载分布,使Web集群服务器的负载分配尽量达到均衡,来提高请求分配的效率。本文的研究来源于慕课教育平台,该会在高峰时间内承载非常大的Web访问量导致服务器响应变慢,所以需要提出一种基于服务器状态和请求信息新的策略算法来减少响应时间。
1 QSC负载均衡算法的设计
1.1 QSC负载均衡算法的理论分析
这里对即查询服务器缓存QSC(Query Server with Cache),算法的基本理论进行分析。Web 服务器集群看作是由若干个提供各种服务能力的资源节点组成。如何共享在全部服务器的各种服务能力,不使某个节点的某个服务类别过载是解决均衡问题的一个重要方面。
根据对服务器的影响程度,本文把请求分为:静态请求、数据库操作请求、安全请求等,每种请求被分给特定的权值,这可以通过分析请求日志来获得请求类型和估计服务器的性能。
请求的权值估算公式参照文献[3]的思想定义为:ormation 函数得到自计算机运行以来计算机所有处理机空闲时间总量,再以不同的参数值调用NtQuerySystemInform ation 函数得到计算机运行时间总量。将相邻两次得到的空闲时间总量相减,得到一个周期内所有处理机的空闲时间t1。将相邻两次得到的系统运行时间总量相减,得到一个周期的时间值t2。将t1和t2代入下列公式得到一个周期内CPU 使用率的平均值如公式(5):
SERVERPER 进程求内存使用率的方法:每次接收到性能同步信号之后每隔一秒调用函数GlobalMemoryStatus 得到物理内存的使用率,重复5次,再将得到的值平均作为这段时间内内存的使用率。
SERVERPER 进程求网络流量的方法:每次接收到性能同步信号后调用函数GetTcpStatistics 得到自计算机运行以来计算机接收和发送的TCP 包的总量,求和,再将相邻两次得到的数相减,得到一个循环周期内计算机发送和接收到的TCP 包数作为机器的网络流量。
3 系统性能测试
Web 集群服务器模型由两个关键实体:负载均衡器和服务器。仿真试验比较主要目的是为了和其它分发算法进行对比,检测QSC-负载均衡算法的有效性。模型主要包括负载处理时间模型和服务器处理时间模型,首先,由于分析服务器响应时间模型比较复杂,几乎包含计算机系统的各个方面。在Web 服务器模型中,有3个因素影响响应延:CPU、网络和磁盘。在不影响主要目的的前提下,本文不考虑网络延迟和区分磁盘和缓存之间的效率的差别。所以,一个请求的响应时间的公式=CPU处理时间+读取内存的时间。处理时间只是被用来测量Web 服务器的性能,该策略中的负载处理时间相对服务器处理时间可以忽略不计。对每类访问参考文献中的一些数据资料结合对Web 服务器的实测,给出了相应权值。通过分析 Web 站点的日志,研究Internet 上请求分布情况和模拟服务器的负载情况。
下面模拟3种不同请求策略:最少连接策略,随机策略,QSC-负载均衡策略,以最少连接和随机选择作为测试的基准。集群服务器系统吞吐量的对比图如图3所示:
图3 集群服务器系统吞吐量的对比
在低负载的情况下,QSC负载均衡算法的效果不是很明显。但是,在中等或负载较重的情况下,这个策略能获得较高的性能和一定的效果。集群服务器系统响应时间的对比如图4所示:
图4 集群服务器系统响应时间对比
模拟的结果如下:在低负载的情况下,3种策略基本没有什么差别。在中等负载的情况下,QSC负载均衡算法比最少连接策略,在响应时间都有较显著的缩短,随机策略是最慢的,由于对请求内容进行准确的识别并考虑到服务器的异构性。QSC负载均衡算法相对于基准来说,有较好的性能。在重负载的情况下,QSC负载均衡算法的效果就更明显了。
综上所述,QSC负载均衡算法考虑到请求的内容和服务器的异构性,根据请求内容分发请求,模拟实验的结果表明QSC负载均衡算法具有很好的性能。
4 总结
Web 服务器负载处理应用领域、行业十分广泛,也是一种趋势,有很多方面需要研究。负载均衡服务主要包括网络级、操作系统级和基于中间件3 种。基于中间件的负载均衡服务位于应用和操作系统之间,屏蔽底层通信复杂性和操作系统的差异,提供一致对外接口,克服了网络级和操作系统级负载均衡服务的不足,可以根据需要在运行期间灵活地定制负载度量和负载均衡策略,根据请求内容进行决策,因此具有很高的灵活性。Web 服务器负载处理是现实和将来一直会存在的问题,借鉴国内外的先进技术和经验,从实际情况出发,认真学习,不断探索,相信在不久的将来,Web 服务器负载处理模型、技术、算法、评测等会更加成熟、效果更加优秀。
[1] 吴璇,隋红建.分布式均衡算法在防火墙集群中的实现[J].计算机系统应用, 2006, 15(8):28-30.
[2] 李新,黎文伟.一种改进的动态告警负载均衡算法[J]. 小型微型计算机系统, 2013, 34(7):1585-1589.
[3] 王魁生,符予.集中式动态负载均衡算法的研究[J]. 西安石油大学学报(自然科学版), 2011, 26(6):102-104.
[4] 马浩.浅析服务器集群的设计、实现与测试[J]. 信息系统工程, 2012(3):20-21.
[5] 许海成,傅锦伟.服务器集群负载均衡的建模与仿真研究[J]. 计算机仿真,2012, 29(3):180-183.
[6] 崔荣波,许晓兵,陆颖.一种虚拟化的服务器集群模型[J].计算机系统应用,2011, 20(3):173-177.
Research on Load Balancing Algorithms of Web Server Cluster in Mooc Education System
Ma Jie
(Baoji professional technology institute, Baoji 721000, China)
The server clustering of Mooc education platform will respond slower when the user traffic is increasing, so it needs to make a new strategy algorithm based on server state and request information to reduce the response time. Mechanism of the algorithm classifies the client’s request according to its degree of influence on the servers, and sets the appropriate weight, combines the performance parameters with the load status of the servers, and assigns this request to the server with the lightest load. According to Mooc education system, it presents a hierarchical structure of the overall framework of a balanced system, and studies the internal communication mechanism of system and web server performance monitoring program. Experimental results show that the proposed algorithm can make full use of existing hardware and software resources, and effectively balance the load of web cluster servers to enable service to maximize efficient use of resources. It is an effective method for the current alleviation and solution of increasing Web server load, and is better than some of the traditional load balancing algorithm.
Web Server Clustering; Load Balancing; High Availability; Mooc Education System
TP311
A
1007-757X(2016)08-0065-04
2016.01.20)
马 洁(1980-),女,宝鸡职业技术学院,硕士,讲师,研究方向:计算机应用技术,721000