APP下载

基于Nginx在高并发WEB负载均衡系统中的算法研究

2020-11-30李慧颖

科学与信息化 2020年30期
关键词:应用

摘 要 由于Apache在请求分发服务器性能上存在一定的不足,直接影响着高并发WEB负载均衡系统的正常运行。本文以既有方案为前提,利用Nginx弹性扩展构架,以及Load Runner与Web Bench工具,测试了网络在线支付系统中的高并发访问。据此可知,通过利用Nginx,服务器所可以承担高并发访问量,其能够提高将近10倍左右,服务器资源所占比例也明显下降,用户访问WEB应用,所需要等待的响应时间在很大程度上缩减。

关键词 Nginx;高并发WEB;负载均衡系统;应用

1Nginx现状

Nginx以进程和线程为基础的模型,在进行并发连接处理时,系统会针对每个连接,利用独立的进程、线程,阻挡在网络或者I/O操作方面。切实根据应用程序的不同,在内部与CPU上的使用率都比较低[1]。在生成新进程、线程的时候,需要新的运行环境,其中主要包括堆、栈分配,运行上、下文。所以,应具备一些额外CPU成本,去创建环境,太多线程和运行上下文不断切换,会影响其性能。在应用过程中, Apache不能有效面对高并发量的请求处理。在这种情况下,尽管服务器的配置有所增加,并不能带来显著成效。而且许多企业根本没有能力承担服务器升级成本,所以,寻求可以代替Apache的方案解决这一现象是非常有必要的[2]。

2Nginx的优势

(1)可以承受高并发连接。在一定程度上对Nginx+php进行科学合理优化配置,能够承受将近3万以上的并发连接数。

(2)内存消耗比较少。在应用环境中,单台服务器Nginx+php5处理程序能力,每秒几乎超出了700次,但是CPU负载并不是很高。

(3)成本相对较低。通过开源Nginx进行反向代理,以此实现负载均衡目标,大大节约购置硬件负载均衡交换工具的运行与维护成本。

(4)可以进行热部署。而且长时间运行,也不需要重新启动,在持续服务的状态下,升级软件。

3高并发WEB负载均衡系统后台服务器架构

就正常情况而言,高并发WEB负载均衡系统后台服务器架构主要划分成四大部分,具体见图1所示。从图中可知,Nginx具有明显的优势,即支持庞大的连接,并确保数据信息传输的有效性[3]。

3.1 Nginx负载均衡模块

Nginx负载均衡模块是前端服务器,主要承担的责任是接受客户端的请求进行连接,并发挥多进程模型的作用,有效解决庞大的访问用户事务量,并根据各种路由措施,把大量用户请求进行均衡,体现到所对应的各种客户端服务器上。

3.2 應用服务器逻辑处理模块

对所对应的客户端请求进行解析,从中精简有效信息,并据此设计具有针对性的逻辑处理[4]。

3.3 数据存储模块

数据存储模块主要划分为两类,即关系型数据库和非关系型数据库。其中,关系型数据库以数据信息所对应的实体模型为依据,遵守实体一体化的原则,合理设计数据库表。而非关系型数据库则主要储存的是非结构化的数据信息,通过键值对进行提取,以此提高读取效率和速度[5]。

4高并发WEB负载均衡算法

高并发WEB负载均衡算法,综合了服务器的负载能力和请求时间。用户能够对负载均衡的级别进行自定义,等级高,所选节点就会更准确,但是,选择时间比较长。其一,高并发WEB负载均衡算法能够查询空闲服务器是否存在,存在那么就发送请求到服务器,不存在则会对服务器的负载能力、请求时间间隔、既定时间内服务器请求失败的次数等各种影响因素进行综合考虑,以此优化选择。其中,实现函数是ngx_http_upstream_init_fair,nreq为服务器负载请求,delta是请求时间间隔,而评分宏和负载请求次数、失败次数之间是负相关的关系,但是和请求间隔、服务器总负载能力之间则是正相关的关系。所以,负载请求越少,则越好,在相同的请求次数下,上次间隔越大,那么分数就会越好。其二,高并发WEB负载均衡算法具备自动调用优化功能,在函数ngx_http_upstream_fair_try_peer中可以实现,在失败次数太多时,函数则会自行进行参数更新,选择最佳服务器。服务器参数保存到红黑树中去,可以确保加载参数实现算法的效率[6],具体流程如图2。

5结束语

综上所述,Nginx具有其自身的独特优势,因此,在高并发WEB负载均衡系统中备受青睐。在实际的生产环境使用中,利用Nginx能够有效解决Apache前端请求分发问题。Nginx弹性扩展结构不仅可以应用于JAVAEE软件系统,也适用于PHP、Python等语言实现的大中型软件系统。

参考文献

[1] 陈沛,马卫东.一种基于Nginx的负载均衡算法实现[J].电子设计工程,2017,25(19):19-22.

[2] 刘卓,张向利.基于Nginx的负载均衡集群设计与实现[J].桂林电子科技大学学报,2017(6):490-493.

[4] 张炜森,陈涛,李康.Nginx高并发负载均衡原理与策略比较研究[J].工业控制计算机,2018(1):85-86,89.

[5] 徐长君,林涛.基于Nginx的负载均衡方式优化[J].河北工业大学学报,2016,45(6):48-52.

[6] 覃川.基于Nginx的Web服务器负载均衡策略改进与实现[D].成都:西南交通大学,2017.

作者简介

李慧颖(1980-),女,北京人;毕业院校:北京邮电大学,专业:软件工程,学历:本科,现就职单位:北京信息职业技术学院,研究方向:网络操作系统。

猜你喜欢

应用
配网自动化技术的应用探讨
带压堵漏技术在检修中的应用
行列式的性质及若干应用
癌症扩散和治疗研究中的微分方程模型
红外线测温仪在汽车诊断中的应用
多媒体技术在小学语文教学中的应用研究
微课的翻转课堂在英语教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析