千万数据量查询接口优化及并发量提高

简单记录一下,系统并发量的优化记录。

背景:
某市疫情爆发,由于此前我司负责汇总该市的所有核酸检测数据,我写了一个非常简单的查询接口,根据身份证号和姓名获取核酸检测结果。现在需要对该接口进行优化,提升其性能。
在这里插入图片描述

自测:
jemtter压测接口所在服务,并发大约在700左右。
压测网关,并发大约500左右。
压测nginx,由于并发量不大,没有瓶颈。

问题:
接口所在服务器的压测结果不理想,与预计值低,于是开始进行排查。写了一个不查数据库的接口,直接获取静态数据,逻辑与查询数据库的接口逻辑相同。然后分别进行压测,发现静态数据接口的并发可以达到5000。于是排查数据库性能。
DBA排查完数据库后反馈,数据库所在服务器的qps比较高,但数据库并未达到瓶颈。且查询条件已经加过索引。最后就是,使用更高性能的服务器存放数据。并把数据库配置为主从,一台用于查询,一台用于增删改。
另外对新增多台服务器,配置服务集群。
在这里插入图片描述
最终集群接口的压测并发可以达到5000以上。

总接:
1、更换性能更好的服务器,数据库主从,读写分离
2、对架构的关键节点进行集群处理

插曲:
当时的接口性能已经压到了5000,但是接口使用方反馈并发还是只有几百。经过沟通发现,他们在调用接口时,首先调用认证平台的接口,获取token,然后根据获取到的token,再请求核酸结果查询接口。导致获取token也成为了一个瓶颈,经过协商,token设置为30分钟过期,使用方每30分钟获取一次token。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

促酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值