APP下载

基于积分管理系统高并发低时延问题的应用研究

2022-04-15黎刚

计算机应用文摘·触控 2022年6期
关键词:接口集群

摘要:基于积分管理系统云化,文章对其接口并发性能和响应时延进行了研究。文章以积分管理系统单个服务节点、服务集群和在NGINX层部署了缓存后的服务集群为研究对象,测试的并发请求量分为每秒300、600和900三个档次。通过JMeter压测,结果表明,在NGINX层部署缓存后的服务集群可以提供很高的系统并发性能和很低的响应时延,很好地满足了生产需求。

关键词:接口;集群;缓存

中图法分类号:TP315

文献标识码:A

Application research on high concurrency and low delay problem based onintegral management system

LI Gang

( China Telecomunication Corporation Limited Anhui sub-Corporation .

Hefei 23003 I , China)

Abstract: After the integration management system is clouded, the interface concurrency performance andresponse delay of the system are studied in this paper. This paper takes the single service node, servicecluster and service cluster after deploying cache in nginx layer of integral management system as the researchobject. The number of concurrent requests tested is 300, 600 and 900 per second. Through JMeter pressuretest, the results show that the service cluster after deploying cache in nginx layer can provide high systemconcurrency performance and low response delay, well meeting the production demand.

Key words: interface, cluster, cache

运营商的在网客户数量在持续增加,目前达到三千万以上级别。和在网客户数量紧密相关,积分管理系统接口的并发请求量也在不断提高,峰值并发请求达到2000 TPS,单日请求量在一千五百万次以上。这对接口的并发处理能力提出了新的要求[1]。

如何使接口的并发能力达到2000 TPS,响应时延在lOOOms以内,是本文要解决的问题。为了便于研究,搭建一个具有单节点服务能力的架构。(1)开发框架为:SpringBoot+IBATIS+MYSQL+TOMCAT。(2)机器环境为:CentOS-7-x86—64操作系统+8核CPU+32GB内存+300GB硬盘。单个服务节点的系统架构如图1所示。

1 单个节点的并发服务能力

1.1积分管理系统云化后对数据库查询的响应性能分析

对TOMCAT的server.xml的设置如下:

protocol=HTTP/1.I

connection Timeout=”20000”

redirectPort=”8443”

maxThreacis=”800”

acceptCount=”1000”/>

maxThreads:TOMCArr起动的最大线程数,即同时处理的任务个数,默认值为200;为解决高并发的问题,将其设置为800。

acceptCount:当TOMCAT起动的线程数达到最大时接受排队的请求个数,默认值为100;为解决高并发的问题,将其设置为1000。

1.2 压力测试工具

JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,其最初被设计用于Web应用测试,但后来扩展到其他测试领域。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能[2]。

本文采用JMeter作为压力测试工具,以测试接口的并发处理能力。

1.3 单个节点的性能压力测试

对单个节点的并发能力进行压力测试,以了解单个节点的并发处理能力,测试数据如表1所列。

通过对单个节点的压力测试进行分析可发现,并发能力在200左右,响应时延都超过lOOOms.不能满足业务的生产需求。

2 24个服务节点构建的服务集群的并发能力

单个服务节点序难以承载持续增长的业务量带来的高并发,建议通过集群的方式來解决相关问题。

2.1集群思想

2.1.1 NGINX转发层

在负载均衡的转发层,采用lvs+NGINX负载均衡来实现。

NCINX的负载均衡策略较多,如轮询、指定权重、ip_hash等[3]。由于各个服务节点的权重相同,不需要会话保持,我们选用轮询的方式来实现。

2.1.2 服务集群层

考虑到TOMCAT的开源性,对整体的服务部署24个服务节点,如图l所示。

2.1.3 数据库缓存层

对于高性能的开源的Reciis,在内存中保存数据。按照kev-value的形式存储数据,是一种数据结构化存储方法的集合[4]。

经测试发现,读取Redis的缓存数据经常出现超时现象,综合考虑业务的需求,把该数据库的缓存层下线,直接和数据库进行交瓦。

2.2 集群压测的接口能力分析

经过集群优化,重新进行接口并发能力压力测试.结果如表2所列。

通过对集群的压力测试进行分析可以发现,并发能力在1500左右,响应时延都超过lOOOms,不能满足业务的生产需求。

3 在NGINX层部署缓存后的集群并发能力

3.1 业务分类分析

通过对业务进行归类分析,发现接口主要是几类请求,并且每类请求都有自己的变化周期,如qryStarlnfo请求,每月变化一次。如果在NGINX转发层配置缓存,可以节约CPU、磁盘10和网络传输的时间消耗,直接由NGINX的缓存返回,可以把平均响应时问缩短30%以上,并发能力提高30%以上。

接口需要处理的主要业务分类如表3所示。

3.2 转发层缓存

对于NGINX的server配置部分,配置如表4所示。

应用层的程序也要配套改造,对实时变化的业务,不加载缓存;对每月变化一次的缓存,加载缓存,通过NGINX的缓存来直接返回查询结果,缩短响应时间,提高接口的并发处理能力[5]。

3.3 通过集群和NGINX缓存优化后压力测试的接口能力分析

经过集群构建,再加上NGINX的缓存优化,重新进行接口并发能力压力测试如表5所示。

通过对NGINX層加载缓存后,对服务集群的压力测试进行分析可知,当请求量足够大的情况下,并发能力都在2000 TPS以上,响应时延都在lOOOms以内,满足业务的生产需求。

4 结论

积分管理系统解决接口高并发低时延能力的优化思路,就是从单个服务节点、服务集群、NGINX加载缓存的服务集群三个层次来优化。

NGINX加载缓存的服务集群,可以节约CPU、磁盘10和网络传输的时间消耗,有效缩短了响应时间,提高了接口的并发处理能力,很好地满足了业务的生产需求。

参考文献:

[1]尚阳阳.气象微信公众平台服务发展方向的思考[J].农家参谋,2020(11):127.

[2]王丽娜.从微平台界面设计看高校品牌构建[J].设计,2020,33(9):82-84.

[3]李洋,李娜,基于互联网环境下移动学习微平台的实现与研究[J].中外企业家,2020(14):170.

[4]叶阳.移动互联网时代出版企业微平台编辑运营策略[J].传媒论坛,2020,3(9):45-47.

[5]胡丹莹.基于学校公众号的高校心理咨询微平台的开发探索[J].信息与电脑(理论版),2020,32(8):252-254.

作者简介:

黎刚(1976-),硕士,工程师,研究方向:计算机软件、计算机网络和大数据在工程中的应用。

猜你喜欢

接口集群
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
现场采购代表与总部及现场各部门的接口关系
某电站工程设计管理与施工、质量控制接口关系研究
脱硝数据传输系统远程无线监控技术的研发与应用
西门子SPPA—T3000在委内瑞拉燃机电厂中的应用与接口
对构建智慧产业集群的几点思考
中俄网络语言编码接口问题的研究