优化接口使通过3000并发压力测试的思路

记一次高并发如何解决的思路

需求:
  • 在项目完成后部署uat环境进行压力测试,3000并发压力测试10分钟,访问时间需在3秒内才可通过压力测试进行项目验收。
解决思路:
  1. 统计sql慢查询日志,对其中的慢查询sql进行优化,添加索引,和移除导致索引失效的错误sql。
  2. 因为在项目中有rpc调用的地方使用try,catch来保证不会抛出大量异常,但是try,catch报错进入catch后会大量消耗性能,所以这一步就是解决全部报错,确保每个服务健壮,集群,不会报错。
  3. 项目开发中,为了赶工存在for循环查询数据库,修改为先一条sql查询出数据,然后for循环if对比赋值,避免循环查数据库对数据库的巨大压力和性能消耗。
  4. 使用多线程,将方法中不需要实时运行的代码使用子线程运行(例如发送mq消息,记录日志等)。
  5. 进行方法拆分,例如查询订单详情方法,拆分为订单信息方法,营销方法,推送方法等多个子方法,然后进入页面后分别ajax调用加载信息。
成果:
  • 从3000并发调用接口平均11秒请求时间,在进行优化后同样3000并发调用接口只需要300ms。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值