论文部分内容阅读
目前,随着互联网技术的高度普及,爆炸式的web并发访问请求给网络带宽和服务器性能带来了巨大的挑战,单一服务器很难快速的对用户请求给予响应,集群服务器虽然能提供比单一服务器更高性能的不间断性服务,但是它无法对请求进行合理有效的分配并提高整个系统的资源利用率,因此负载均衡技术应运而生。Nginx作为优秀的负载均衡的代表,其具有资源消耗低,并发量高以及易于扩展等优点,因此基于Nginx负载均衡的动态分配技术研究非常有必要。本文作者首先通过对Nginx的源码模块化结构、Nginx对HTTP请求的处理流程以及其自带算法进行分析研究,分析出其自带算法存在不能实时反馈服务器性能、动态修改服务器权值以及收集服务器指标不全等不足;然后根据上述不足创新性的提出一种基于加权轮询算法的动态负载均衡算法,该算法除了在原有算法的软件层面的基础上增加了负载信息实时收集模块、负载信息处理模块、改进熵值法确定负载权系数方法以及实验性确定上游服务器权重修改阈值和服务器负载信息的收集周期这几点改进还对Nginx内核以及配置文件进行了优化;最后在实验中选取响应时间、吞吐率以及最高并发量作为算法的评价指标对本文的改进算法进行全面测试分析。本文采用seige性能测试工具对加权轮询、IP-hash、第三方fair和本文提出的改进算法进行性能评估测试,通过实验证明,本文改进算法dyn在并发量达到峰值以及饱和状态时,dyn算法在响应时间上比其它三种算法中最优的算法第三方fair缩短了2.39%和11.9%,在最高并发量上比最优算法IP-hash提高了3.90%和16.9%,在吞吐率上比最优算法加权轮询rr提高了0.52%和7.77%,因此本文改进的算法在各项性能上相比其它算法能达到更好的负载均衡效果。