基于Nginx高并发Web服务器的改进与实现
发布时间:2017-07-31 21:26
本文关键词:基于Nginx高并发Web服务器的改进与实现
【摘要】:目前,互联网已经得到了广泛的普及与应用,甚至离开互联网我们将无法正常的工作和生活。个人电脑和移动设备的发展,使得即时信息与娱乐服务变的更加方便精巧,基础用户的不断增加使得应用访问量变得巨大。为了提供安全可靠的服务,服务器端正在面临着越来越大的压力。考虑到系统的可扩展性和成本效益,各技术团队相继提出了集群分布式的技术构建自己的服务器体系系统。高并发Web服务器端的负载均衡技术,作为集群体系系统研究的核心,解决了系统在接受大量请求时任务合理分配的问题。Nginx作为高效的Web服务器,已经成功的帮助许多技术团队解决服务器端高负载的问题。本文首先介绍了Nginx系统模块架构以及进程工作原理。然后对原有加权轮询、IP哈希以及最少连接数策略进行了分析,针对其优缺点,提出一种动态调节权重的负载均衡策略。这种动态策略是在原有加权轮询策略进行了改进,根据运行中节点的CPU、内存、磁盘IO以及网络的性能情况,对节点权重进行动态的更新,使运行中的系统各节点能够分配到与其当前负载能力相对应的请求任务量,增强了集群的性能,提高了效率。通过分析Nginx的模块源码以及数据结构,设计了这种动态策略的处理流程并且进行了实现。最后,利用siege性能测试工具对原有加权轮询策略和本文所提出动态策略进行性能测试,通过实验证明,本文所提出的这种动态策略更好的实现了负载均衡。相比于原有负载均衡策略,本文提出的这种动态调节权重的负载均衡策略具有如下几个特点:(1)更综合的节点性能评估,通过对后端服务器各节点CPU、内存、磁盘IO以及网络带宽等性能情况收集,计算得出该节点的性能权重,相比与经验性的赋值,这种计算方法更加综合有效。(2)设定权重修改阈值,在动态调节权重的负载均衡策略中,频繁的修改权重,有时不仅不会带来性能的提高,反而会造成系统的抖动,所以通过计算节点资源使用率标准差,来判断节点负载是否均衡,如果不均衡,即标准差高于预先设定的阈值,则启动权重修改流程。(3)设定冗余的概念,周期性的收集节点负载信息,为了更好的对周期内节点负载情况作出预测,防止节点过载,根据上一周期的负载情况,计算该周期的冗余性能,当冗余值过低,则对该节点分配更少的任务。(4)动态的修改权重,当判断需要对权值进行修改时,系统会根据该节点资源利用率的情况,计算出一个增量,对于该节点负载的过多或过少,实行权重对该增量的减法和加法的操作,并将变动的权值进行更新。
【关键词】:高并发 Nginx Web服务器 负载均衡
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.52;TP393.09
【目录】:
- 摘要4-6
- Abstract6-11
- 第1章 绪论11-16
- 1.1 研究背景11-12
- 1.2 研究现状与研究意义12-14
- 1.2.1 研究现状12-13
- 1.2.2 研究意义13-14
- 1.3 本文工作与结构14-16
- 第2章 Web服务器端相关技术介绍16-24
- 2.1 服务端性能指标16-17
- 2.1.1 并发用户数16
- 2.1.2 响应时间16-17
- 2.1.3 吞吐率17
- 2.2 服务端负载均衡技术17-23
- 2.2.1 负载均衡目标17
- 2.2.2 负载均衡策略分类17-20
- 2.2.3 负载均衡实现方式20-21
- 2.2.4 LVS集群负载均衡技术21-23
- 2.3 本章小节23-24
- 第3章 高并发Web服务器的分析与设计24-38
- 3.1 高并发Web服务器需求分析24-25
- 3.1.1 高并发Web服务器项目说明24
- 3.1.2 高并发Web服务器需求分析24-25
- 3.2 Nginx总体架构研究25-28
- 3.2.1 Nginx简介及其优势25-26
- 3.2.2 Nginx系统模块框架26-27
- 3.2.3 Nginx进程原理27-28
- 3.3 Nginx负载均衡策略研究28-34
- 3.4 一种动态调节权重的负载均衡策略的设计34-37
- 3.4.1 相关参数定义34-35
- 3.4.2 最优化思想35-36
- 3.4.3 权值计算36-37
- 3.5 本章小节37-38
- 第4章 高并发Web服务器的实现38-50
- 4.1 Nginx源码分析38-43
- 4.1.1 源码目录以及模块分析38-41
- 4.1.2 数据结构简介41-43
- 4.1.3 ngx_lua简介43
- 4.2 一种动态调节权重的负载均衡策略的实现43-49
- 4.2.1 算法处理流程43-44
- 4.2.2 实现过程44-49
- 4.3 本章小结49-50
- 第5章 高并发Web服务器的性能测试与分析50-58
- 5.1 性能测试概述50
- 5.2 测试环境50-52
- 5.2.1 测试环境软硬件配置50-51
- 5.2.2 测试环境搭建51-52
- 5.3 具体配置步骤52-54
- 5.3.1 Nginx及功能模块的安装配置52-53
- 5.3.2 Siege性能测试53-54
- 5.4 测试用例设计54
- 5.5 测试内容与结果分析54-57
- 5.6 本章小结57-58
- 第6章 总结与展望58-60
- 参考文献60-63
- 致谢63
【参考文献】
中国期刊全文数据库 前3条
1 杨小勇;;方差分析法浅析——单因素的方差分析[J];实验科学与技术;2013年01期
2 周莹莲;刘甫;;服务器负载均衡技术研究[J];计算机与数字工程;2010年04期
3 王云岚,李增智,薛军,班世敏;基于DNS的负载均衡算法研究[J];计算机工程与应用;2002年04期
中国博士学位论文全文数据库 前2条
1 王红斌;Web服务器集群系统的自适应负载均衡调度策略研究[D];吉林大学;2013年
2 章文嵩;可伸缩网络服务的研究与实现[D];中国人民解放军国防科学技术大学;2000年
中国硕士学位论文全文数据库 前4条
1 戴华;基于Nginx和Memcached的高并发WEB服务器设计[D];复旦大学;2013年
2 兰翔;基于Nginx的负载均衡技术的研究与改进[D];华南理工大学;2012年
3 胡利军;Web集群服务器的负载均衡和性能优化[D];北京邮电大学;2010年
4 李登;分布式系统负载均衡策略研究[D];中南大学;2002年
,本文编号:601217
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/601217.html