基于Nginx高性能Web服务器性能优化与负载均衡的改进与实现
本文关键词:基于Nginx高性能Web服务器性能优化与负载均衡的改进与实现,,由笔耕文化传播整理发布。
【摘要】:当今社会,无论是政府机构、金融行业或是工业生产,都与快速发展的互联网紧密相关,特别是人们的日常生活方式和生活水平,更因互联网的到来,发生了巨大的改变。但随着越来越多的人使用互联网,爆炸式的并发Web访问请求给互联网带来了严峻的挑战,单一Web服务器很难准确及时、迅速响应高并发量的访问请求,促使人们探索新技术,以此来解决该问题。解决此问题最常用的技术是构建集群系统。集群系统下的服务器共同工作,以此来满足人们期望服务器可以快速响应准确返回访问请求。而集群系统中最核心问题就是负载均衡,负载均衡最主要目的就是合理地把大量并发请求分发给集群中的服务器,从而提升整个系统的吞吐量、资源利用率以及降低请求响应时间。所以负载均衡算法的好坏,对集群系统的性能提升起决定性作用。本论文对Web服务器Nginx内置负载均衡算法进行分析和研究,提出一种动态负载均衡算法,并利用该算法实现了一个基于Nginx和Tomcat的服务集群系统。在此集群系统中,利用Httperf和Autobench软件对Nginx内置的加权轮询算法、IP Hash算法,第三方提供的fair算法、一致性Hash算法以及本论文所提出的动态算法进行性能测试。实验结果表明,本论文所提出的动态算法能够更好地实现负载均衡,且具有如下几个特点:(1)选择最优服务器:通过负载均衡器收集的负载信息,把服务器剩余负载与性能之比作为权值,并选择权值排名前三的服务器,随机选择其中一台服务器来处理用户的请求。服务器被选中的概率与权值比重成正比。这可以避免一直把请求分配给权值最大的服务器,因为收集信息存在一定延迟,所以有时权值最大的服务器处理用户请求的能力不一定最好。(2)组群管理:对集群系统中服务器进行分组,每组中选定一个作为中央节点,用于收集组中服务器的负载信息,最后中央节点把收集的负载信息再反馈给负载均衡器。因此,负载均衡器无需与所有服务器通信,减少了负载均衡器的开销。(3)预防“假死”机制:当服务器处理能力达到极限时,对于新的用户请求,处理时间会剧增。为了避免这样情况发生,本论文记录服务器的处理请求时间,用于判断其是否已经处于“假死”状态,而防止再将新的请求分配给该服务器。
【关键词】:Web 集群 负载均衡 Nginx
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.05
【目录】:
- 摘要5-6
- ABSTRACT6-11
- 第一章 绪论11-16
- 1.1 课题研究的背景与意义11-12
- 1.2 国内外研究现状12-13
- 1.2.1 Nginx研究现状12
- 1.2.2 负载均衡研究现状12-13
- 1.3 本论文的研究内容13-14
- 1.4 本论文的结构安排14-16
- 第二章 相关知识介绍16-29
- 2.1 Web服务器Nginx16-21
- 2.1.1 Nginx概述16-17
- 2.1.2 Nginx安装与启动17-18
- 2.1.3 Nginx配置文件18-19
- 2.1.4 Nginx命令19
- 2.1.5 Nginx进程模型19-21
- 2.2 Redis内存数据库21-22
- 2.2.1 发布/订阅模式22
- 2.3 计算机集群与负载均衡22-25
- 2.3.1 计算机集群概念22
- 2.3.2 计算机集群分类22-25
- 2.3.3 负载均衡概念及目标25
- 2.4 负载均衡技术25-28
- 2.4.1 负载均衡实现类型25-27
- 2.4.2 负载均衡实现方式27-28
- 2.5 本章小结28-29
- 第三章 系统总体设计29-34
- 3.1 需求分析29
- 3.2 系统架构29-31
- 3.3 负载均衡器模块31-33
- 3.4 本章总结33-34
- 第四章 负载均衡研究与设计34-52
- 4.1 Nginx负载均衡的研究34-40
- 4.1.1 upstream模块34-35
- 4.1.2 加权轮询算法35-36
- 4.1.3 IP Hash算法36-38
- 4.1.4 加权最小连接数算法38-40
- 4.2 负载均衡算法的设计40-51
- 4.2.1 内容分析模块40-42
- 4.2.2 算法调度模块42-46
- 4.2.3 信息收集模块46-50
- 4.2.4 预防假死模块50-51
- 4.3 本章小结51-52
- 第五章 NGINX负载均衡算法的实现与调优52-72
- 5.1 Nginx源代码分析52-63
- 5.1.1 目录说明52-53
- 5.1.2 核心数据结构53-62
- 5.1.3 HTTP请求处理流程62-63
- 5.2 负载均衡算法的实现63-69
- 5.2.1 算法调度63-67
- 5.2.2 负载信息收集67-68
- 5.2.3 预防假死状况68-69
- 5.3 Nginx性能调优69-71
- 5.3.1 全局块69
- 5.3.2 Events块69-70
- 5.3.3 HTTP块70-71
- 5.4 本章小结71-72
- 第六章 性能测试与结果分析72-81
- 6.1 性能测试指标72
- 6.2 测试环境72-76
- 6.3 测试结果与分析76-80
- 6.4 本章小结80-81
- 第七章 全文总结与展望81-83
- 7.1 全文总结81
- 7.2 后续工作81-83
- 致谢83-84
- 参考文献84-87
- 攻读硕士学位期间取得的成果87-88
【相似文献】
中国期刊全文数据库 前10条
1 聂晓文;卢显良;李梁;徐海湄;蒲汛;;DHT负载均衡的必要性[J];计算机科学;2009年09期
2 黄向忠;袁捷;;基于JXTA的均衡负载模式[J];计算机工程与设计;2005年12期
3 黄颖;谢忠;吴亮;郭明强;;基于聚类调度负载均衡的WebGIS模型[J];地球科学(中国地质大学学报);2010年03期
4 周伟;;基于兴趣区域搜索的云设备资源优化调度方法[J];科技通报;2012年12期
5 卢欣;;在集群系统中实现均衡负载[J];科技信息(科学教研);2008年22期
6 胡凡玮;;网络流量均衡负载策略的分析与简单控制技术[J];科技广场;2007年09期
7 李纪云,董小社,童端;“负载路由器”实现动态负载均衡的研究[J];微电子学与计算机;2003年07期
8 徐立波;孙连科;许琪;于文波;冷楠;;基于STP的均衡负载网络设计与实现[J];沈阳工程学院学报(自然科学版);2009年04期
9 余海燕,郑笑飞;几种负载均衡解决方案的比较[J];信息系统工程;2000年09期
10 赵霞;;基于负载均衡的企业级工业Beowulf集群[J];微计算机信息;2008年15期
中国重要报纸全文数据库 前1条
1 山岚;全面均衡负载[N];中国计算机报;2002年
中国硕士学位论文全文数据库 前10条
1 王永辉;基于Nginx高性能Web服务器性能优化与负载均衡的改进与实现[D];电子科技大学;2015年
2 徐玲;CDN网络中负载均衡的研究[D];上海交通大学;2007年
3 刘汉邦;一种基于反馈机制的负载均衡改进算法研究[D];青岛理工大学;2010年
4 顾崇林;虚拟机集群负载均衡的研究[D];哈尔滨工业大学;2010年
5 刘兆明;基于随机高级Petri网模型的服务器均衡集群研究[D];西安建筑科技大学;2006年
6 龙慧;基于OpenFlow的分布式网络中负载均衡路由的研究[D];上海交通大学;2013年
7 李宪武;基于Linux集群系统负载均衡的研究和实现[D];西安电子科技大学;2008年
8 陈斌;基于Apache集群负载均衡的研究和实现[D];电子科技大学;2010年
9 韩冬梅;基于P2P的教学信息资源负载均衡调度算法的研究[D];哈尔滨工程大学;2010年
10 梁飞;信息分发网格的副本管理和负载均衡[D];电子科技大学;2008年
本文关键词:基于Nginx高性能Web服务器性能优化与负载均衡的改进与实现,由笔耕文化传播整理发布。
本文编号:278596
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/278596.html