接口优化思想

1、批量思想,批量操作
2、异步:耗时操作放到异步执行
3、空间换时间:使用缓存
4、预取:提前初始化到缓存
5、池化:预分配和循环使用
6、事件回调:拒绝阻塞等待
7、远程调用由串行改成并行
8、锁粒度避免过粗
9、切换存储方式:文件中转暂存数据
10、索引
11、优化sql
12、避免大事务
13、优化深分页问题
14、优化程序结构
15、压缩传输内容
16、海量数据处理
17、线程池设计要合理
18、机器是否有full gc 或线程打满问题

实际应用:
我需要做一个展示页面,这个页面涉及的订单号特别多,每个订单号都要查询订单信息,并且需要展示多条内容,每条内容都要拼接并判断逻辑。

一是我使用了预取、异步、批量、远程调用并行、空间换时间、池化、在正式执行判断逻辑前,先将每个订单的订单信息、用户信息、历史信息、以及远程调用其他系统的信息全部通过线程池多线程异步调用,预先准备好,缓存在map里。
将接口从原先的p99 900ms降低到p99 358ms
使用的是completableFuture。
查其他系统每次接口的耗时是p99,每个订单都要调用一次。

二是检查数据库,
查看是否有可改进的sql,无。
但是将查询的从主库改成从库,这只是一个查询的接口没必要用主库。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值